• Aucun résultat trouvé

Оптимизация алгоритмов вычисления опционов на гибридной системе (Optimization algorithm for computing options for the hybrid system)

N/A
N/A
Protected

Academic year: 2022

Partager "Оптимизация алгоритмов вычисления опционов на гибридной системе (Optimization algorithm for computing options for the hybrid system)"

Copied!
6
0
0

Texte intégral

(1)

Ñàíêò-Ïåòåðáóðãñêèéãîñóäàðñòâåííûéóíèâåðñèòåò,

îññèÿ,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 , А. В. Богданов с

(2)

Çà ïîñëåäíåå âðåìÿ ïðîèñõîäèò çíà÷èòåëüíîå óâåëè÷åíèå îáúåìà òîðãîâ íà ðûíêå

öåííûõ áóìàã. Çàäà÷à ïîèñêà öåíû òîé èëè èíîé öåííîé áóìàãè ñ ìàòåìàòè÷åñêîé òî÷êè

çðåíèÿèìååòäîâîëüíîñïåöèè÷åñêèéõàðàêòåð.Îñíîâíûìòðåáîâàíèåìÿâëÿåòñÿñêîðîñòü

âû÷èñëåíèé, ãäå âàæíû äàæå ìèëëèñåêóíäû, òàê êàê íà ïðàêòèêå îíè ìîãóò ñòîèòü áîëü-

øèõ äåíåã ó÷àñòíèêó òîðãîâ. Ñ äðóãîé ñòîðîíû, èç ïðèíöèïîâ óíêöèîíèðîâàíèÿ ðûíêà

ñëåäóåò, ÷òîâ äàííîé çàäà÷å íåòðåáóåòñÿâûñîêîé òî÷íîñòèâû÷èñëåíèé.

Ïðè ðåøåíèè ðàññìàòðèâàåìîé çàäà÷è áîëüøóþ ïîïóëÿðíîñòü ñåãîäíÿ èìååò ìåòîä

Ìîíòå-Êàðëî. Îí ïîçâîëÿåò äîñòè÷ü íåîáõîäèìîé òî÷íîñòè âû÷èñëåíèé, íî ïðè ýòîì íå

îáëàäàåò äîñòàòî÷íîé ýåêòèâíîñòüþ. Ýêñïåðèìåíòû ïîêàçûâàþò, ÷òî â çàâèñèìîñòè îò

òî÷íîñòè,ïîèñêöåíûîïöèîíàìîæåòçàíèìàòüäîíåñêîëüêèõäåñÿòêîâñåêóíäèëèäàæåäî-

õîäèòüäîíåñêîëüêèõìèíóò.Ïîìèìîóâåëè÷åíèÿâû÷èñëèòåëüíîéìîùíîñòèèñïîëüçóåìûõ

ÝÂÌ,âäàííîé çàäà÷å ïðèñóòñòâóþò çíà÷èòåëüíûå âîçìîæíîñòè îïòèìèçàöèè íààëãîðèò-

ìè÷åñêîì èïðîãðàììíîì óðîâíå,êîòîðûå è áóäóòðàññìîòðåíû íèæå.

Âïðåäñòàâëåííîéñòàòüåðàññìàòðèâàåòñÿ âîçìîæíîñòü ðàñ÷åòàöåíû îïöèîíà íà ãè-

áðèäíûõñèñòåìàõñèñïîëüçîâàíèåìàðõèòåêòóðû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+1K, 0 } ×

× 1

(2πσ 2t) (n+1)/2 exp

 

 

 X n+1

i=1

"

− 1

2t [x i(x i − 1 + µ ∆ t)] 2

# 

 

 

(1)

µ = r − σ 2 2

ãäå

r

áåçðèñêîâàÿ ïðîöåíòíàÿ ñòàâêà,

σ

âîëàòèëüíîñòü. Ïîäðîáíîñòè ìîæíî íàéòè â ðàáîòàõ[Montagna, Nirosini, Moreni,2002℄, [Lientsky,1997℄.

Ïðèïîìîùèäàííîãîêîíòèíóàëüíîãîèíòåãðàëàîïðåäåëÿåòñÿöåíàáàçîâîãîàêòèâàâ

ìîìåíò èñïîëíåíèÿ îïöèîíà.

Äëÿ ïðîãðàììèðîâàíèÿ ïðèâåäåííîãî âûøå âûðàæåíèÿ íåîáõîäèìî âûïîëíèòü ñëå-

äóþùèå îñíîâíûå ñòàäèè àëãîðèòìà:

Введение

Постановка задачи

(3)

1. åíåðàöèÿ íàáîðà ñëó÷àéíûõ ÷èñåë (

x 0

,

x 1

,...,

x n

,

x n+1

),òàêèì îáðàçîì, ÷òîáû ïëîò-

íîñòüðàñïðåäåëåíèÿ êàæäîãî

x

áûëàðàâíà:

f (x) = 1

√ 2πσ 2t exp

(

− 1

2t [x(x i 1 + µ ∆ t)] 2 )

.

(2)

2. Ïîäñòàâèòü

x n+1

â ïîäûíòåãðàëüíóþ óíêöèþ:

S (T ) = max { e x n+1K, 0 } .

(3)

3. Âû÷èñëèòüîïöèîí ïî îðìóëå:

C(S , t) = e rT 1 N

N

X

i=1

S i .

Äëÿ ðàñ÷åòà èíòåãðàëà íåîáõîäèìî ñãåíåðèðîâàòü íàáîð ñëó÷àéíûõ ÷èñåë òàêèì îá-

ðàçîì, ÷òî ïëîòíîñòü êàæäîãî èç íèõ çàâèñèò îò ïðåäûäóùåãî. Â ýòîì êðîåòñÿ îñíîâíàÿ

ïðîáëåìà äëÿ ïàðàëëåëèçìà.  ñëó÷àå åâðîïåéñêîãî îïöèîíà íåîáõîäèìî âçÿòü ïîñëåäíåå

ñëó÷àéíîå ÷èñëî èç íàáîðà èïîäñòàâèòü âóíêöèþS(T).

ÏåðâûéèâòîðîéýòàïÿâëÿþòñÿîäíîéèòåðàöèåéÌîíòå-Êàðëî.Äëÿòî÷íîñòèâû÷èñ-

ëåíèé íåîáõîäèìî âûïîëíèòü êàê ìîæíî áîëüøå òàêèõ èòåðàöèé. Ïîñëå ÷åãî ïîäñòàâèòü

ïîëó÷åííûéðåçóëüòàò âîðìóëóâû÷èñëåíèÿîïöèîíà.

Äëÿèçáàâëåíèÿîòçàâèñèìîñòèíåîáõîäèìîïðîâåñòèíåñêîëüêîìàòåìàòè÷åñêèõ ïðå-

îáðàçîâàíèé.

Èç îðìóëû ïëîòíîñòè ðàñïðåäåëåíèÿ ñëó÷àéíîé âåëè÷èíû

x i

(2) ñëåäóåò, ÷òî îíà

ðàñïðåäåëåíà ïî íîðìàëüíîìóçàêîíó

x nN(µt + x n − 1 , σ √

t),

ñ ìàòåìàòè÷åñêèì îæèäàíèåì

M[x] = µ ∆ t + x n − 1

è äèñïåðñèåé

D[x] = σ √

t.

Òîãäà

x i

ìîæíî ïîëó÷èòüèç ñëó÷àéíîé âåëè÷èíû

ξ iN(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 .

Модернизация алгоритма

(4)

 êîíå÷íîì èòîãå, äëÿ ïîëó÷åíèÿ ñëó÷àéíîé âåëè÷èíû

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πσ 2t

! N/2

×

× exp

 

 

− X N

n=1

1

2t [x n(x n − 1 + µ ∆ t)] 2

 

 

×

× max

 

 

 

t P N

n=1 I(x n , x n − 1 , ∆ t)

TK, 0

 

 

  ,

(5)

ãäå

I(x n , x n − 1 , ∆ t) = e x n 1

x n + σ 2t

2 ∆ x 2 n − σ 2t

x 3 n

!

+ e x n 1 − 1

x n + σ 2t

2 ∆ x 2 n + σ 2t

x 3 n

! ,

Òàêèìîáðàçîì,âñåðàññóæäåíèÿäëÿåâðîïåéñêîãî îïöèîíàîñòàþòñÿñïðàâåäëèâûìèèäëÿ

ñëó÷àÿàçèàòñêîãî îïöèîíà,òîëüêî îðìóëà (3)áóäåò èìåòü âèä:

S (T ) = max

 

 

 

t P N

n=1 I(x n , x n 1 , ∆ t)

TK, 0

 

 

  .

èñ.1.Óñêîðåíèåâû÷èñëåíèé íàGPU

Эксперименты

(5)

[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

Заключение

Список литературы

(6)

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

Optimization algorithm for computing options for the hybrid

system

D. S. Khmel a , E. A. Stepanov b , A. V. Bogdanov c

Références

Documents relatifs

Filet de canard sauce poivre Gratin de pomme de terre et cocotte de légumes de saison Petit plateau de fromages et sa salade verte. Assortiment de desserts en petits plaisirs Pain

Emplir le compartiment « produit » avant chaque utilisation – sans dilution et le vider après utilisation (selon la durée de traitement choisie, du produit pourra être

In the framework of this project, Météo-France provides an expertise in the field of convection forecast with a focus on the use of ensemble prediction system to

Vu la lettre enregistrée le 30 novembre 1988 sous le numéro F 205 par laquelle l'Association fédérale des nouveaux consommateurs, agissant poursuites et diligences de son délégué

Par défaut, le pilote ODBC analyse uniquement les 8 premières lignes du classeur fermé pour déterminer le type de données dans chaque colonne.. Dans certains cas particuliers,

Included with each Foundation Set product are the AT&amp;T User Interface Utilities, FMLI and FACE, providing the user with a logical view of the UNIX System V environment..

L'activation de la surveillance du clignotant de remorque et la désactivation de l'aide au stationnement côté véhicule doivent être effectuées comme suit à l'aide du testeur

IMPORTANT : Si vous devez pour une raison valable quitter la trace, c’est autorisé mais vous devrez reprendre votre parcours où vous l’avez laissé ou vous ne pourrez