Ñàíêò-Ïåòåðáóðãñêèéãîñóäàðñòâåííûéóíèâåðñèòåò,
îññèÿ,199034,
Ñàíêò-Ïåòåðáóðã,
Óíèâåðñèòåòñêàÿíàá.
ä.7-9.
E-mail:
a
dskhmel.spbu.ru, b
e.an.stepanovgmail.om,
bogdanovsa.ru
Âñòàòüåðàññìîòðåíàïðîáëåìàîïòèìèçàöèèàëãîðèòìîâöåíîîáðàçîâàíèÿîïöèîíîâ íà
GPGPU. Îñíîâíàÿöåëü äîáèòüñÿìàêñèìàëüíîé ýåêòèâíîñòèîò èñïîëüçîâàíèÿãèáðèä-
íîéñèñòåìû.
Àâòîðàìè
áûëè
ïðåäëîæåíûíåêîòîðûå ïðåîáðàçîâàíèÿàëãîðèòìà,
ïîëó÷åí-
íîãî èç
ìîäåëè Áëåêà-Øîóëçà, äëÿöåíîîáðàçîâàíèÿ åâðîïåéñêîãî
èàçèàòñêîãî
îïöèîíà
ïî
ìåòîäó Ìîíòå-Êàðëî ñ ó÷åòîì îñîáåííîñòåé àðõèòåêòóðû GPGPU. Îñíîâíîé èäååé îïòè-
ìèçàöèè
ÿâëÿåòñÿ
ïîñòîÿííàÿ
ðàáîòà
ñ îäíèì
áîëüøèì
ìàññèâîì äàííûõ.
Êëþ÷åâûåñëîâà:åâðîïåéñêèé îïöèîí,àçèàòñêèéîïöèîí,ãèáðèäíàÿ ñèñòåìà,GPGPU,
CUDA, ìåòîä
Ìîíòå-Êàðëî
àáîòàâûïîëíåíàïðèïîääåðæêåãðàíòîâÔÔÈ:
17-57-80111 FTRC-HPC: Âûñîêîïðîèçâîäèòåëüíûå âû÷èñëåíèÿ ñ ñåòåâûìè ðåêîíèãóðèðóåìûìè îòêàçî-
óñòîé÷èâûìèâû÷èñëèòåëüíûìèóñòðîéñòâàìè,
16-57-48005Ìóëüòè-FPUíàêðèñòàëëå(MFoC)äëÿïðèëîæåíèéâûñîêîïðîèçâîäèòåëüíûõâû÷èñëåíèé,
16-07-01111ÏîñòðîåíèåUnix-ïîäîáíîãîîêðóæåíèÿäëÿóïðàâëåíèÿâèðòóàëüíûìñóïåðêîìïüþòåðîì.
2016ÄìèòðèéÑåðãååâè÷Õìåëü,ÝäóàðäÀíàòîëüåâè÷Ñòåïàíîâ,ÀëåêñàíäðÂëàäèìèðîâè÷Áîãäàíîâгибридной системе
Оптимизация алгоритмов вычисления опционов на
Д. С. Хмель а , Э. А. Степанов b , А. В. Богданов с
Çà ïîñëåäíåå âðåìÿ ïðîèñõîäèò çíà÷èòåëüíîå óâåëè÷åíèå îáúåìà òîðãîâ íà ðûíêå
öåííûõ áóìàã. Çàäà÷à ïîèñêà öåíû òîé èëè èíîé öåííîé áóìàãè ñ ìàòåìàòè÷åñêîé òî÷êè
çðåíèÿèìååòäîâîëüíîñïåöèè÷åñêèéõàðàêòåð.Îñíîâíûìòðåáîâàíèåìÿâëÿåòñÿñêîðîñòü
âû÷èñëåíèé, ãäå âàæíû äàæå ìèëëèñåêóíäû, òàê êàê íà ïðàêòèêå îíè ìîãóò ñòîèòü áîëü-
øèõ äåíåã ó÷àñòíèêó òîðãîâ. Ñ äðóãîé ñòîðîíû, èç ïðèíöèïîâ óíêöèîíèðîâàíèÿ ðûíêà
ñëåäóåò, ÷òîâ äàííîé çàäà÷å íåòðåáóåòñÿâûñîêîé òî÷íîñòèâû÷èñëåíèé.
Ïðè ðåøåíèè ðàññìàòðèâàåìîé çàäà÷è áîëüøóþ ïîïóëÿðíîñòü ñåãîäíÿ èìååò ìåòîä
Ìîíòå-Êàðëî. Îí ïîçâîëÿåò äîñòè÷ü íåîáõîäèìîé òî÷íîñòè âû÷èñëåíèé, íî ïðè ýòîì íå
îáëàäàåò äîñòàòî÷íîé ýåêòèâíîñòüþ. Ýêñïåðèìåíòû ïîêàçûâàþò, ÷òî â çàâèñèìîñòè îò
òî÷íîñòè,ïîèñêöåíûîïöèîíàìîæåòçàíèìàòüäîíåñêîëüêèõäåñÿòêîâñåêóíäèëèäàæåäî-
õîäèòüäîíåñêîëüêèõìèíóò.Ïîìèìîóâåëè÷åíèÿâû÷èñëèòåëüíîéìîùíîñòèèñïîëüçóåìûõ
ÝÂÌ,âäàííîé çàäà÷å ïðèñóòñòâóþò çíà÷èòåëüíûå âîçìîæíîñòè îïòèìèçàöèè íààëãîðèò-
ìè÷åñêîì èïðîãðàììíîì óðîâíå,êîòîðûå è áóäóòðàññìîòðåíû íèæå.
Âïðåäñòàâëåííîéñòàòüåðàññìàòðèâàåòñÿ âîçìîæíîñòü ðàñ÷åòàöåíû îïöèîíà íà ãè-
áðèäíûõñèñòåìàõñèñïîëüçîâàíèåìàðõèòåêòóðûCUDA.Âêà÷åñòâåîñíîâûäëÿ÷èñëåííûõ
ýêñïåðèìåíòîâáûëèâûáðàíû åâðîïåéñêèéèàçèàòñêèé îïöèîíû.Äëÿ ïîèñêàèõöåíû ðàñ-
ñìàòðèâàåòñÿ ìîäåëü,êîòîðàÿ îïèñûâàåòñÿêîíòèíóàëüíûì èíòåãðàëîì.
Âðàìêàõäàííîé ñòàòüè áóäóò èñïîëüçîâàòüñÿ ñëåäóþùèåîáîçíà÷åíèÿ:
S (t)
óíê-öèÿ âðåìåíè,îïèñûâàþùàÿ äèíàìèêóèçìåíåíèÿ öåíû áàçîâîãî àêòèâà.Áóäåì ðàññìàòðè-
âàòü îïöèîííûéêîíòðàêò ñïåðèîäîì äåéñòâèÿ
[0, T ]
èöåíîé èñïîëíåíèÿK
.Ïðåäïîëîæèì,÷òî
S 0 = S (0)
,x = ln S
,C eu (S, t)
öåíà åâðîïåéñêîãî îïöèîíà,C as (S, I, t)
öåíà àçèàòñêîãîîïöèîíà, ãäå
I = R T
0 S (τ)dτ
.Èñõîäíûé âðåìåííîé ïðîìåæóòîê ðàçîáüåìíà ðàâíûå ÷àñòè äëèíîé
∆ t
òî÷êàìèt 0 <
t 1 < · · · < t n < t n+1
,ïðè÷åìt 0 = 0
,t n+1 = T
.Ïðè ðåøåíèèçàäà÷è öåíîîáðàçîâàíèÿ îïöèîíîâ íà ãèáðèäíîé ñèñòåìåáûëà ïðèìåíåíà ìîäåëü, îñíîâàííàÿíà êîíòèíóàëüíîì èíòåãðàëå:C eu (S 0 , 0) = e − rT Z +∞
−∞
. . . Z +∞
−∞
dx 1 . . . dx n dx n + 1 max { e x n+1 − K, 0 } ×
× 1
(2πσ 2 ∆ t) (n+1)/2 exp
X n+1
i=1
"
− 1
2σ 2 ∆ t [x i − (x i − 1 + µ ∆ t)] 2
#
(1)
µ = r − σ 2 2
ãäå
r
áåçðèñêîâàÿ ïðîöåíòíàÿ ñòàâêà,σ
âîëàòèëüíîñòü. Ïîäðîáíîñòè ìîæíî íàéòè â ðàáîòàõ[Montagna, Nirosini, Moreni,2002℄, [Lientsky,1997℄.Ïðèïîìîùèäàííîãîêîíòèíóàëüíîãîèíòåãðàëàîïðåäåëÿåòñÿöåíàáàçîâîãîàêòèâàâ
ìîìåíò èñïîëíåíèÿ îïöèîíà.
Äëÿ ïðîãðàììèðîâàíèÿ ïðèâåäåííîãî âûøå âûðàæåíèÿ íåîáõîäèìî âûïîëíèòü ñëå-
äóþùèå îñíîâíûå ñòàäèè àëãîðèòìà:
Введение
Постановка задачи
1. åíåðàöèÿ íàáîðà ñëó÷àéíûõ ÷èñåë (
x 0
,x 1
,...,x n
,x n+1
),òàêèì îáðàçîì, ÷òîáû ïëîò-íîñòüðàñïðåäåëåíèÿ êàæäîãî
x
áûëàðàâíà:f (x) = 1
√ 2πσ 2 ∆ t exp
(
− 1
2σ 2 ∆ t [x − (x i − 1 + µ ∆ t)] 2 )
.
(2)2. Ïîäñòàâèòü
x n+1
â ïîäûíòåãðàëüíóþ óíêöèþ:S (T ) = max { e x n+1 − K, 0 } .
(3)3. Âû÷èñëèòüîïöèîí ïî îðìóëå:
C(S , t) = e − rT 1 N
N
X
i=1
S i .
Äëÿ ðàñ÷åòà èíòåãðàëà íåîáõîäèìî ñãåíåðèðîâàòü íàáîð ñëó÷àéíûõ ÷èñåë òàêèì îá-
ðàçîì, ÷òî ïëîòíîñòü êàæäîãî èç íèõ çàâèñèò îò ïðåäûäóùåãî. Â ýòîì êðîåòñÿ îñíîâíàÿ
ïðîáëåìà äëÿ ïàðàëëåëèçìà.  ñëó÷àå åâðîïåéñêîãî îïöèîíà íåîáõîäèìî âçÿòü ïîñëåäíåå
ñëó÷àéíîå ÷èñëî èç íàáîðà èïîäñòàâèòü âóíêöèþS(T).
ÏåðâûéèâòîðîéýòàïÿâëÿþòñÿîäíîéèòåðàöèåéÌîíòå-Êàðëî.Äëÿòî÷íîñòèâû÷èñ-
ëåíèé íåîáõîäèìî âûïîëíèòü êàê ìîæíî áîëüøå òàêèõ èòåðàöèé. Ïîñëå ÷åãî ïîäñòàâèòü
ïîëó÷åííûéðåçóëüòàò âîðìóëóâû÷èñëåíèÿîïöèîíà.
Äëÿèçáàâëåíèÿîòçàâèñèìîñòèíåîáõîäèìîïðîâåñòèíåñêîëüêîìàòåìàòè÷åñêèõ ïðå-
îáðàçîâàíèé.
Èç îðìóëû ïëîòíîñòè ðàñïðåäåëåíèÿ ñëó÷àéíîé âåëè÷èíû
x i
(2) ñëåäóåò, ÷òî îíàðàñïðåäåëåíà ïî íîðìàëüíîìóçàêîíó
x n ∼ N(µ ∆ t + x n − 1 , σ √
∆ t),
ñ ìàòåìàòè÷åñêèì îæèäàíèåì
M[x] = µ ∆ t + x n − 1
è äèñïåðñèåéD[x] = σ √
∆ t.
Òîãäà
x i
ìîæíî ïîëó÷èòüèç ñëó÷àéíîé âåëè÷èíûξ i ∼ N(0, 1)
ñëåäóþùèì îáðàçîì:x n = M[x] + D[x] ξ n .
Èëè, ïîäñòàâëÿÿ âûðàæåíèÿ äëÿ
M[x]
èD[x]
,èìååì:x n = µ ∆ t + x n − 1 + σ √
∆ t ξ n .
(4)Ïðåîáðàçóåìäàííîå âûðàæåíèå êáîëååóäîáíîìóâèäó,äëÿýòîãîçàìåòèì:
x n+1 = ξ n+1 σ √
∆ t + µ ∆ t + x n = ξ n+1 σ √
∆ t + µ ∆ t + ξ n σ √
∆ t + µ ∆ t + x n − 1 =
= (ξ n+1 + ξ n )σ √
∆ t + 2µ ∆ t + x n − 1 = σ √
∆ t X n+1
i=1
ξ i + (n + 1)µ ∆ t + x 0 .
Òàêèì îáðàçîì èìååì:
x n+1 = σ √
∆ t X n+1
i=1
ξ i + (n + 1)µ ∆ t + x 0 .
Модернизация алгоритма
 êîíå÷íîì èòîãå, äëÿ ïîëó÷åíèÿ ñëó÷àéíîé âåëè÷èíû
x n+1
òðåáóåòñÿ ïðîñóììèðî- âàòü ñãåíåðèðîâàííûé ìàññèâ ñëó÷àéíûõ ÷èñåë ñî ñòàíäàðòíûì íîðìàëüíûì ðàñïðåäåëå-íèåì, ïîìíîæèòü åãî íà
σ √
∆ t
è ïðèáàâèòü çíà÷åíèå âûðàæåíèÿ(n + 1)µ ∆ t + x 0
, êîòîðîåðàññ÷èòûâàåòñÿçàðàíåå.
Ïðåèìóùåñòâî äàííîé ìîäèèêàöèè çàêëþ÷àåòñÿ â òîì, ÷òî â íåé îòñóòñòâóþò çà-
âèñèìîñòè, ïîýòîìó å¼ ìîæíî ëåãêî çàïðîãðàììèðîâàòü è ïîëó÷èòü óñêîðåíèå, èñïîëüçóÿ
CUDA èëèOpenCL íà ãèáðèäíîé ñèñòåìå.
Îòëè÷èå àçèàòñêîãî îïöèîíà ñîñòîèòëèøü â òîì, ÷òî åãî ñòîèìîñòü âû÷èñëÿåòñÿ ïî
îðìóëå:
C as (S 0 , I 0 , 0) = e − rT Z +∞
−∞
. . . Z +∞
−∞
dx N . . . dx 1
1 2πσ 2 ∆ t
! N/2
×
× exp
− X N
n=1
1
2σ 2 ∆ t [x n − (x n − 1 + µ ∆ t)] 2
×
× max
∆ t P N
n=1 I(x n , x n − 1 , ∆ t)
T − K, 0
,
(5)
ãäå
I(x n , x n − 1 , ∆ t) = e x n 1
∆ x n + σ 2 ∆ t
2 ∆ x 2 n − σ 2 ∆ t
∆ x 3 n
!
+ e x n − 1 − 1
∆ x n + σ 2 ∆ t
2 ∆ x 2 n + σ 2 ∆ t
∆ x 3 n
! ,
Òàêèìîáðàçîì,âñåðàññóæäåíèÿäëÿåâðîïåéñêîãî îïöèîíàîñòàþòñÿñïðàâåäëèâûìèèäëÿ
ñëó÷àÿàçèàòñêîãî îïöèîíà,òîëüêî îðìóëà (3)áóäåò èìåòü âèä:
S (T ) = max
∆ t P N
n=1 I(x n , x n − 1 , ∆ t)
T − K, 0
.
èñ.1.Óñêîðåíèåâû÷èñëåíèé íàGPU
Эксперименты
[Bogdanov, Stepanov, Khmel, 2015℄. Âäàííîì ýêñïåðèìåíòå ñðàâíèâàåòñÿâðåìÿ ðàáîòû ïî-
ñëåäîâàòåëüíîãîàëãîðèòìàíàCPU(IntelXeon)èïàðàëëåëüíîãîíàGPU(TeslaK40M).Íà
ðèñ. 1 ïðèâåäåíî óñêîðåíèå âû÷èñëåíèé íà GPU. Ìîæíî çàìåòèòü, ÷òî ãðàèê èìååò òè-
ïè÷íîå íàñûùåíèå. Ýòîîçíà÷àåò, ÷òîíà áîëüøèõíàáîðàõ óñêîðåíèåñèëüíî íå èçìåíèòñÿ.
 ðåçóëüòàòå èñïîëüçîâàíèÿ ãðàè÷åñêîé êàðòû Tesla K40M óäàëîñü ïîëó÷èòü óñêîðåíèå
â 110 ðàç. Òàêæå ïðîâîäèëñÿ ýêñïåðèìåíò ïî ìàñøòàáèðîâàíèþ ýòîé çàäà÷è íà íåñêîëüêî
GPU(ðèñ.2).åçóëüòàòûïîêàçàëè,÷òîìåòîäÌîíòå-Êàðëîìîæíîïåðåíåñòèíàíåñêîëüêî
ãðàè÷åñêèõ ïðîöåññîðîâ. Óâåëè÷åíèå ÷èñëà ïðîöåññîðîâ â 2 ðàçà äàåò ïðåèìóùåñòâî â
ñêîðîñòè â 1.6 ðàç. Òàêèì îáðàçîì, ìàñøòàáèðîâàíèå GPU ìîæíî èñïîëüçîâàòü ëèáî äëÿ
óñêîðåíèÿ âû÷èñëåíèé,ëèáî äëÿóâåëè÷åíèÿ èõòî÷íîñòè.
èñ.2.Óñêîðåíèåâû÷èñëåíèéíàäâóõGPU
Ïîäâîäÿ èòîã, ñëåäóåò îòìåòèòü, ÷òî äëÿ íåêîòîðîãî êëàññà çàäà÷ èñïîëüçîâàíèå
GPGPUäàåò çíà÷èòåëüíîå ïðåèìóùåñòâî.
Àëãîðèòìû, íàïèñàííûå äëÿ GPU, òðåáóþò ãëóáîêîãî ïîíèìàíèÿ ïðèíöèïîâ ðàñïà-
ðàëëåëèâàíèÿ çàäà÷ èîñîáåííîñòåé àðõèòåêòóðãðàè÷åñêèõ ïðîöåññîðîâ
Âáóäóùåìïëàíèðóåòñÿçàâåðøèòü ñîçäàíèåïðîãðàììíî-àïïàðàòíîãî êîìïëåêñà äëÿ
ðåøåíèÿ ïîñòàâëåííîéçàäà÷è.
G.Montagna, O.Nirosini, N.Moreni A path integral way to option priing // Physia A:
Statistial Mehanis andits Appliations. 2002. Vol.310, Issues34. P.450466
V.Linetsky The path integral approah to nanial modeling and options priing //
Computational Eonomis. 1997. Vol.11. Issue1.P.129 163
A.V.Bogdanov,E.A.Stepanov,D.S.KhmelAssessmentofthedynamisofAsianandEuropean
option on hybrid system // Journal of Physis: Conferene Series. 2015. Vol.681.
P.121 129
Заключение
Список литературы
Saint
Petersburg
University,
7/9Universitetskayaemb.,St.
Petersburg, 199034
E-mail:
a
dskhmel.spbu.ru, b
e.an.stepanovgmail.om,
bogdanovsa.ru
In theartile the problemof optimizationof GPGPUoption priingalgorithms. The main
goaltoahieve maximumeieny from theuseofthehybrid system.Theauthors oeredsome
transformation
algorithm
derived from Blake-Sholes model for
priing
European and Asian
option
ontheMonte
Carlo
methodbasedon
GPGPU
arhiteturefeatures.Thebasiideaisthe
onstant
optimization
ofwork withone largearrayof data.
Keywords: European option,
Asian
option, hybrid system, GPGPU, CUDA,
Monte-Carlo
method
ThisworkwassupportedbyRFBRgrants:
17-57-80111 FTRC-HPC: High-Performane Computing with Networked Fault Tolerant Reongurable
ComputingUnits,
16-57-48005MultiFPUonChip(MFoC)forHPCappliations,
16-07-01111BuildingUnix-likeenvironmenttoontrolvirtualsuperomputer.
2016DmitryS.Khmel,EduardA.Stepanov,AleksandrV.Bogdanov