Date post: | 30-May-2018 |
Category: |
Documents |
Upload: | animuresan |
View: | 224 times |
Download: | 0 times |
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 1/35
128
Anexa A
Preţul unei acţiuni la Bursa din TokyoIncrementul
preţului
Până la 2,000 yen 1 yen
Mai multde
2,000 yen Până la 3,000 yen
5 yen
Mai multde 3,000 yen Până la 30,000 yen
10 yen
Mai multde 30,000 yen Până la 50,000 yen
50 yen
Mai multde 50,000 yen Până la 100,000 yen
100 yen
Mai multde 100,000 yen Până la 1,000,000 yen
1,000 yen
Mai multde 1,000,000 yen Până la 20,000,000 yen 10,000 yen
Mai multde 20,000,000 yen Până la 30,000,000 yen 50,000 yen
Mai multde 30,000,000 yen 100,000 yen
(La 29 august 2003)
Limitele Zilnice ale Preţului acţiunilor la Bursa din Tokyo
Scala de incrementare a preţurilor la Bursa din Tokyo
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 2/35
129
Preţul de Închidere al zilei precedente sau o CotaţieSpecială
Limita Zilnică aPreţului (± )
Mai micde
100 yen
30yen
Egal saumai marede
100 yen " 200 yen
50 yen
" 200 yen " 500 yen 80 yen
" 500 yen " 1,000 yen 100 yen
" 1000 yen " 1,500 yen 200 yen
" 1,500 yen " 2,000 yen 300 yen
" 2,000 yen " 3,000 yen 400 yen
" 3,000 yen " 5,000 yen 500 yen
" 5,000 yen " 10,000 yen 1,000 yen
" 10,000 yen " 20,000 yen 2,000 yen
" 20,000 yen " 30,000 yen 3,000 yen
" 30,000 yen " 50,000 yen 4,000 yen
" 50,000 yen " 70,000 yen 5,000 yen
" 70,000 yen " 100,000 yen 10,000 yen
" 100,000 yen " 150,000 yen 20,000 yen
" 150,000 yen " 200,000 yen 30,000 yen
" 200,000 yen " 300,000 yen 40,000 yen
" 300,000 yen " 500,000 yen 50,000 yen
" 500,000 yen " 1,000,000 yen 100,000 yen
" 1,000,000 yen " 1,500,000 yen 200,000 yen
" 1,500,000 yen " 2,000,000 yen 300,000 yen
" 2,000,000 yen " 3,000,000 yen 400,000 yen
" 3,000,000 yen " 5,000,000 yen 500,000 yen
" 5,000,000 yen " 10,000,000 yen 1,000,000 yen
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 3/35
130
" 15,000,000 yen " 20,000,000 yen 3,000,000 yen
" 20,000,000 yen " 30,000,000 yen 4,000,000 yen
" 30,000,000 yen " 50,000,000 yen 5,000,000 yen
50,000,000 yen sau maimult
10,000,000 yen
Anexa B
Metoda de tranzacţionare Itayose Registrul de ordine al bursei are prezintă adesea o situaţie complicată înainte de
deschiderea unei sesiuni de trading : cu oferte de vânzare la preţuri mai mici decât cererilede cumpărare şi cereri de cumpărare la preţuri mai mari decât ofertele de vânzare. Metoda Itayose presupune că toate ordinele aflate in registrul de ordine al bursei (sistemulelectronic de matching ) sunt tratate ca şi ordine plasate în acelaşi timp (simultane). Cu altecuvinte, nu se sortează ordinele în funcţie de timp, şi nu acţionează nici un fel de prioritatedin perspectivă temporală. Cererile şi ofertele se împerechează la un preţ unic, după principiul priorităţii preţului. Preţul, sau cursul acţiunii este determinat pe bazaurmătoarelor cerinţe:
a. toate ordinele plasate la preţul pieţei trebuie în mod necesar să fie executate; b. toate ordinele cu limită de preţ de vânzare/cumpărare la preţuri mai mici, respectivmai mari decât preţul de execuţie avut în vedere, trebuie să fie executate;
c. la preţul de execuţie luat în considerare, întreaga cantitate a ordinelor, fie a celor devânzare, fie a celor de cumpărare, şi cel puţin o unitate tranzacţională din parteaopusă a registrului de ordine al bursei trebuie să fie executate.
În tabelul de mai jos este prezentat registru de ordine a bursei. Coloana din centru con ţine preţul, a doua coloană din stânga conţine volumul individual al ofertei (ordine de vânzare),iar prima coloană din stânga prezintă volumul agregat de acţiuni (calculat de jos în sus,începând cu preţul cel mai mic al ofertei). Partea din dreapta a tabelului este o imagine în
oglindă şi reprezintă cererea (ordine de cumpărare) individuală, în a doua coloană dindreapta, respectiv volumul agregat al cererii în prima coloană din dreapta (calculat de sus in jos, începând cu preţul cel mai mare al cererii).Ordinele la preţul (cursul) pieţei (OCP) sunt plasate în rândul cel mai de sus.
Metoda Itayose presupune să se înceapă prin satisfacerea cerinţelor (a) şi (b), prezentatemai sus, pentru a se putea determina preţul (cursul) de deschidere. În primul rând estedeterminat un preţ analizându-se echilibrul dintre volumul agregat al cererii şi al ofertei. În
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 4/35
131
cazul nostru, preţurile de 500 şi respectiv de 501 yen sunt cele la care volumul agregat alcererii şi al ofertei sunt cel mai aproape de echilibru şi, în consecinţă, este cel mai probabilcă preţul de deschidere va fi unul din acestea două.
Ofertă (vânzare) Preţ Cerere (cumpărare)
Volum Agregat Cantitate Ordine Cantitate Ordine Volum Agregat
6,000 Ordine la Cursul Pieţei(OCP) 4,000
44,000 8,000 502 1,000 5,000 36,000 20,000 501 7,000 12,000 16,000 4,000 500 10,000 22,000 12,000 2,000 499 8,000 30,000 10,000 4,000 498 30,000 60,000
Notă: O unitate tranzacţională este de 1,000 de acţiuni. Aceasta este valabilă pentru întreg exemplul ceurmează.
Să vedem în continuare ce se întâmplă dacă asumăm că preţul (cursul) de deschidere estede 500 yen.
Ofertă Preţ Cerere 6,000 OCP 4,000 8,000 502 1,000
20,000 501 7,000 4,000 500 10,000 2,000 499 8,000
4,000 498 30,000
În primul rând, în concordanţă cu cerinţa (a), ordinele decumpărare a 4,000 de acţiuni la preţul pieţei sunt puse încorespondenţă cu ordinele de vânzarea a 6,000 de acţiunila preţul pieţei, proces în urma căruia r ămân nesatisf ăcute2,000 de acţiuni puse spre vânzare la cursul pieţei.
Ofertă Preţ Cerere 2,000 OCP 8,000 502 1,000
20,000 501 7,000 4,000 500 10,000 2,000 499 8,000 4,000 498 30,000
La pasul următor, se încearcă satisfacerea cerinţei (b) şianume, ordinele de vânzare a 2,000 de acţiuni la cursul
pieţei şi ordinele de vânzare a 6,000 de acţiuni cu limitade preţ de 499 yen, sau mai puţin de atât, sunt puse încorespondenţă (matched ) cu ordinele de cumpărare a8,000 de acţiuni cu limita de preţ de 501 yen, sau maimult. În consecinţă, până acum au fost puse încorespondenţă î total 12,000 de acţiuni.
Ofertă Preţ Cerere
OCP
8,000 502
20,000 501 4,000 500 10,000
499 8,000
În final, ordinele de vânzare a 4,000 de acţiuni cu limita
de preţ de 500 yen sunt împerecheate cu ordinele decumpărare a 10,000 de acţiuni cu limita de preţ de 500yen. Cu toate că în acest mod r ămân încă neexecutate6,000 de acţiuni dorite a fi cumpărate la preţul de 500 deyen, această etapă satisface cerinţa finală (c).
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 5/35
132
498 30,000
Ofertă Preţ Cerere
OCP
8,000 502
20,000 501
500 6,000
499 8,000
498 30,000
În concluzie, preţul de deschidere determinat este de 500yen şi un volum de tranzacţii de 16,000 de acţiuni esterealizat la acest curs de 500 yen.
Ca şi măsur ă de precauţie vom analiza şi ce se întâmplă dacă vom considera preţul de 501yen ca şi preţ de deschidere.
Ofertă Preţ Cerere 6,000 OCP 4,000 8,000 502 1,000
20,000 501 7,000 4,000 500 10,000 2,000 499 8,000 4,000 498 30,000
Conform cerinţei (a) şi aşa cum am văzut mai sus,ordinele la preţul pieţei din ambele păr ţi (cerere-ofertă)sunt puse în corespondenţă, r ămânând neexecutate ordinede vânzare de 2,000 de acţiuni.
Ofertă Preţ Cerere 2,000 OCP
8,000 502 1,000 20,000 501 7,000 4,000 500 10,000 2,000 499 8,000
4,000 498 30,000
Apoi, asumând că preţul de deschidere este de 501 yen,oferta de vânzare a 2,000 de acţiuni la preţul pieţei şi
oferta de vânzare a 10,000 de acţiuni la preţul de 500 yen,sau mai puţin de atât, sunt puse în corespondenţă cuordinele de cumpărare a 1,000 la preţul de 502 yen, saumai mult.Având însă o cerere de cumpărare de numai 1,000 deacţiuni, nu pot fi executate toate ordinele de vânzare lacursul pieţei. Aceasta înseamnă că cerinţa (a) impusă demetoda Itayose nu poate fi satisf ăcută.
Metoda de tranzacţionare Zaraba Această metodă este utilizată pentru punerea în corespondenţă în timp real şi într-o
manier ă continuă pe durata sesiunilor de tranzacţii, a ordinelor individuale plasate la bursă,din momentul în care preţul de deschidere a sesiunii a fost determinat prin metoda Itayose.Succesiunea de tabele de mai jos, ilustrează modul de funcţionare al metodei Zaraba.
Ofertă Preţ Cerere OCP 2,000
8,000 502
La acest moment cea mai bună ofertă de vânzare este de20,000 de acţiuni la preţul de 501 yen şi cel mai bunordin de cumpărare este de cel de 6,000 de acţiuni la 500
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 6/35
133
20,000 #501 500 6,000
499 8,000
498 30,000
yen.
Acesta este situaţia pe piaţă în momentul când un nouordin de cumpărare a 2,000 acţiuni este înregistrat însistem.
Notă: semnul "'#" marchează preţul la care se aşteaptă să se execute noului ordin.
Ofertă Preţ Cerere OCP 2,000
8,000 502 20,000 #501
500 6,000
499 8,000
498 30,000
Acest nou ordin de cumpărare este pus în corespondenţă cu ordinul de vânzare care are cea mai mare prioritate. Înacest caz este ordinul de vânzare cu preţul cel mai micdisponibil pe piaţă, care este cel de 20,000 de acţiuni la
preţul de 501 yen pe acţiune. În consecinţă, o cantitate de2,000 de acţiuni este cumpărată la preţul de 501 yen,r ămânând încă spre vânzare 18,000 de acţiuni la preţul de501 yen pe acţiune.
Ofertă Preţ Cerere OCP
8,000 502
18,000 501
#500 6,000
499 8,000 10,000 498 30,000
Următorul ordin care este înregistrat în sistemul burseieste un ordin de vânzare a 10,000 de acţiuni cu o limităde preţ de 498 yen. Acesta este pus în corespondenţă
prima dată cu ordinul de cumpărare care deţine cea maimare prioritate la acest moment şi anume, ordinul decumpărare a 6,000 de acţiuni la preţul de 500 yen.
Ofertă Preţ Cerere OCP
8,000 502
18,000 501
500 #499 8,000
4,000 498 30,000
Cantitatea oferită spre vânzare r ămasă, de 4,000 deacţiuni, este apoi pusă în corespondenţă cu următorulordin de cumpărare, în ordinea priorităţii, care este cel de8,000 de acţiuni la preţul de 499 yen.
În acest mod, metoda Zaraba asigur ă realizarea tranzacţiilor într-o manier ă continuă, pedurata sesiunilor de trading , odată ce preţul de deschidere a fost determinat.
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 7/35
134
Anexa C
Alocarea pe conturi, în mod proporţional, a cantităţii executate
Numărul de instrumente financiare (produse) = 1 Numărul de conturi client = 4
Dimensiunea LotuluiProdusului
Cantitatea Ordonată (număr de loturi) Cantitatea Executată(număr de loturi)
1 57 56
Pasul 1Se alocă propor ţional, determinând coeficientul de cerere de alocare pentru fiecare cont în parte şi iniţializândcantitatea alocată pe cont cu numărul întreg de loturi determinat prin împăr ţirea cu trunchiere.
Identificator Cont
CantitateaCerută
Coeficient dePropor ţionalitate
Cantitatea CurentAlocată
A 25 0.439 24B 10 0.175 9C 18 0.316 17D 4 0.070 3Cantitatea
Totală
57 1 53
Restul de cantitate executată şi nealocată 3
Pasul 2Se determină procentul de satisfacere a cantităţii cerute şi cantitatea r ămasă de satisf ăcut pentru fiecare cont.
Identificator Cont
CantitateaCerută
Cantitatea CurentAlocată
Procentul deSatisfacere a Cererii
Cantitatea Cerută şi Nesatisf ăcută
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 8/35
135
A 25 24 96% 1B 10 9 90% 1C 18 17 94.44% 1D 4 3 75% 1CantitateaTotală
57 53 4
Pasul 3Se ordonează conturile după următorul criteriu compus:
• Cheie primar ă = Procentul de Satisfacere a Cererii• Cheie secundar ă = Cantitatea Cerută şi Nesatisf ăcută • Cheie ter ţiar ă = Prioritatea Contului
Not ă: În exemplul nostru, asumăm că setul de conturi a fost deja sortat după prioritatea asociată fiecărui contîn ordine descendentă, de la A la D.
Identificator Cont
CantitateaCerută
Cantitatea CurentAlocată
Procentul deSatisfacere a Cererii
Cantitatea Cerută şi Nesatisf ăcută
D 4 3 75% 1B 10 9 90% 1C 18 17 94.44% 1A 25 24 96% 1CantitateaTotală
57 53 4
Pasul 4Se alocă un lot la primul cont din lista sortată după criteriul compus prezentat anterior.
Se alocă un lot primului cont din lista sortată (contului D)
1
Identificator Cont
CantitateaCerută
Cantitatea CurentAlocată
Procentul deSatisfacere a Cererii
Cantitatea Cerută şi Nesatisf ăcută
D 4 4 100% 0B 10 9 90% 1C 18 17 94.44% 1A 25 24 96% 1CantitateaTotală
57 54 3
Cantitatea reziduală r ămasă nealocată 2
Se iterează de la Pasul 2 la Pasul 4 până cantitatea rămasă nealocată devine zero.
Identificator Cont
CantitateaCerută
Cantitatea CurentAlocată
Procentul deSatisfacere a Cererii
Cantitatea Cerută şi Nesatisf ăcută
A 25 24 96% 1B 10 10 100% 0C 18 18 100% 0D 4 4 100% 0Cantitatea 57 56 1
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 9/35
136
Notă: Odată determinată, conform strategiei prezentate mai sus, cantitatea executată de alocat pe fiecare contr ămâne neschimbată pe durata procesului de optimizare a soluţiei.
Anexa D
Crearea unei soluţii iniţiale prin distribuirea cantităţii la preţurile executate
Preţ de Execuţiei 117 107 116 109 115
Cantitate Executată 15 13 7 10 11
Preţul mediu ponderat = 112.732143
Sortez preţurile de execuţie în ordine ascendentă, pe baza distanţei absolute faţă de preţul mediu ponderat şise creează două liste: o listă care conţine preţurile de execuţie care sunt mai mici decât preţul mediu ponderatşi o listă conţinând preţurile de execuţie mai mari decât preţul mediu ponderat.
Cantitate Sub Medie Preţul Mediu Ponderat Peste Medie Cantitate13 10710 109
112.732143 115 11116 7117 15
Alocarea cantităţilor pe conturi o realizez luând mai întâi în considerare conturile cu cererea cea mai mică,
satisfacerea necesarului acestora se face prin utilizarea celor mai apropiate preţuri de preţul mediu ponderat(implementez, de asemenea, o logică adiţională pentru alocarea unui număr minimal de loturi în fiecare cont,înainte de alocarea cantităţii reziduale). La fiecare pas este ales acel preţ la care încă mai există cantitatedisponibilă şi care satisface cerinţa de a-i genera contului considerat cel mai apropiat preţ mediu localde preţul mediu ponderat general. Procesul acesta continuă iterativ până când întreaga cantitate executată la fiecare preţ este epuizată. Tabloul următor prezintă rezultatul acestui proces de generare a unei soluţiiiniţiale pentru problema de alocare în numere întregi. De remarcat, încă o dată, că totalul cantităţii de alocat
pe fiecare cont a fost determinat pe considerente de propor ţionalitate cu cererea iniţială a clientului, în primafază a algoritmului şi nu este permis a fi alterat în fazele ulterioare ale algoritmului.
Totală
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 10/35
137
Preţurile de Execuţie Preţul Mediu pe
ContIdentificator cont Cantitatea Alocată
117 107 116 109 115
D 4 2 2 112B 10 1 4 5 112.70
C 18 1 3 6 4 4 112.78A 24 14 10 112.83Cantitatea Totală Executată
56 15 13 7 1011
Anexa E
HEAL – Etapa de optimizare
După cea de a doua fază matricea conţinând rezultatul alocării arată astfel:
Conturi CantitatePreţ
A B C D
117 14 1 15
107 10 3 13
116 1 6 7
109 4 4 2 10
115 5 4 2 11
CantitateaAlocată
15 10 18 4 56
Preţ Mediu 112.83 112.70 112.78 112.00 112.732143
AbatereaAbsolută
0.10 -0.03 0.05 -0.73
Delta 0.000897619 -0.000285126 0.000404808 -0.00649454
Cantitatea Nesatisf ăcută
1 0 0 0
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 11/35
138
Abaterea standard a preţului este dată de
( )
1
2
1
−
−
=∑=
n
p pn
j
j
σ , unde j p este preţul mediu pe cont
( )n j ,1= , şi p este preţul mediu ponderat general.
Înainte de faza de optimizare σ = 0.741207
Valoarea de start a funcţiei obiectiv 0.00808209
Iteraţia 1Din Contul În Contul Preţ
A D 117D A 109
ConturiPreţ
A B C D
117 13 1 1
107 10 3
116 1 6
109 1 4 4 1
115 5 4 2
Delta -0.00205924 -0.000285126 0.000404808 0.0112466
Valoarea funcţiei obiectiv 0.0139958
Iteraţia 2Din Contul În Contul Preţ
B D 109D B 115
Preţ Conturi
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 12/35
139
A B C D
117 13 1 1
107 10 3
116 1 6
109 1 3 4 2115 6 4 1
Delta -0.00205924 0.00503722- 0.000404808 -0.00205924
Valoarea funcţiei obiectiv 0.00956052
Iteraţia 3Din Contul În Contul Preţ
B D 116D B 115
ConturiPreţ
A B C D
117 13 1 1
107 10 3
116 6 1
109 1 3 4 2
115 7 4
Delta -0.00205924 0.00415017 0.000404808 0.000158403
Valoarea funcţiei obiectiv 0.00677262
Iteraţia 4Din Contul În Contul Preţ
B C 115C B 109
Preţ Conturi
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 13/35
140
A B C D
117 13 1 1
107 10 3
116 0 6 1
109 1 4 3 2115 6 5
Delta -0.00205924 -0.00117218 0.00336167 0.000158403
Valoarea funcţiei obiectiv 0.0067515
Iteraţia 5Din Contul În Contul Preţ
B C 115C B 116
ConturiPreţ
A B C D
117 13 1 1
107 10 3
116 1 5 1
109 1 4 3 2
115 5 6
Delta -0.00205924 -0.000285126 0.00286886 0.000158403
Valoarea funcţiei obiectiv 0.00537163
Iteraţia 6Din Contul În Contul Preţ
B C 115C B 116
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 14/35
141
ConturiPreţ
A B C D
117 13 1 1
107 10 3
116 2 4 1
109 1 4 3 2
115 4 7
Delta -0.00205924 0.000601933 0.00237605 0.000158403
Valoarea funcţiei obiectiv 0.00519563
Iteraţia 7Din Contul În Contul Preţ
B C 115C B 116
ConturiPreţ A B C D
117 13 1 1
107 10 3
116 3 3 1
109 1 3 3 2
115 4 8
Delta -0.00205924 0.00148899 0.00188324 0.000158403
Valoarea funcţiei obiectiv 0.00558988
Abaterea standard a preţului asociată soluţiei optimale este σ = 0.361333
Calitatea soluţiei a fost îmbunătăţită cu 105%
Prezint în continuare rezultatele listate de programul de testare pentru HEAL. Algoritmul se opreşteatunci când nu mai poate fi selectată o pereche de conturi între care să se poată realiza un interschimbde un lot. La acel punct, soluţia asociată celei mai mici valori ale funcţiei obiectiv (găsită la pasul 6) este
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 15/35
142
considerată ca cea mai bună soluţie pe care algoritmul o poate furniza şi este returnată ca şi rezultat alalocării.
Current Obj = 0.00808209[0] = 0.000897619 [1] = -0.000285126 [2] = 0.000404808 [3] = -0.00649454colFrom = 0; colTo = 3; row = 0
colFrom = 3; colTo = 0; row = 3 Next Obj = 0.0139958[0] = -0.00205924 [1] = -0.000285126 [2] = 0.000404808 [3] = 0.0112466colFrom = 3; colTo = 1; row = 4colFrom = 1; colTo = 3; row = 3
Next Obj = 0.00956052[0] = -0.00205924 [1] = 0.00503722 [2] = 0.000404808 [3] = -0.00205924colFrom = 1; colTo = 3; row = 2colFrom = 3; colTo = 1; row = 4
Next Obj = 0.00677262[0] = -0.00205924 [1] = 0.00415017 [2] = 0.000404808 [3] = 0.000158403colFrom = 1; colTo = 2; row = 4colFrom = 2; colTo = 1; row = 3
Next Obj = 0.0067515[0] = -0.00205924 [1] = -0.00117218 [2] = 0.00336167 [3] = 0.000158403colFrom = 2; colTo = 1; row = 2colFrom = 1; colTo = 2; row = 4
Next Obj = 0.00537163[0] = -0.00205924 [1] = -0.000285126 [2] = 0.00286886 [3] = 0.000158403colFrom = 2; colTo = 1; row = 2colFrom = 1; colTo = 2; row = 4
Next Obj = 0.00519563[0] = -0.00205924 [1] = 0.000601933 [2] = 0.00237605 [3] = 0.000158403colFrom = 2; colTo = 1; row = 2colFrom = 1; colTo = 2; row = 4
Next Obj = 0.00558988[0] = -0.00205924 [1] = 0.00148899 [2] = 0.00188324 [3] = 0.000158403
colFrom = 0; colTo = 0; row = -1colFrom = 0; colTo = 0; row = -1
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 16/35
143
Anexa F
METHODS AND APPARATUS FOR OPTIMIZING THE DISTRIBUTION OF TRADING EXECUTIONS
RELATED APPLICATIONS
This application claims priority to and benefit of U.S. Provisional Patent
Application Serial No. 60/667,474, filed on April 1, 2005, the contents of which are hereby
incorporated herein for all purposes.
FIELD
The present invention relates to electronic trading of securities.
BACKGROUND
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 17/35
144
A primary function of brokerage firms is to conduct trades on behalf of clients.
From an information flow perspective, trading at a brokerage firm includes steps of
collecting orders from clients to buy or sell various financial products and placing these
orders on a specified stock exchange. Each client may have multiple brokerage accounts
open at a brokerage firm so the trading must specify which account a trade is associated
with. Once an order is placed, it may be executed (e.g., by the selected stock exchange’s
matching engine). The executions are captured by the brokerage firm’s trading system and
the executed quantities from each financial product must be allocated fairly on the client’s
accounts. That is, they must be allocated based on the ordered quantity per account (as
specified by the client at the time of placing the order).
Some orders may be fully executed, while others may be partially executed or not
executed at all. If the entire ordered quantity it is executed (fully or partially) at a unique
price, then allocation is straightforward – the executed quantity will be allocated on the
client’s accounts proportionate to the quantity demanded by the client in each of its
accounts.
However, often there is a price breakdown associated with an order. That is, the
total ordered quantity is fully or partially executed at multiple prices. Such situations give
rise to an integer allocation problem that requires optimization. Pursuant to some
embodiments, an optimization algorithm is provided to achieve an average price per
account as close as possible to each other (and to the overall weighted average price), with
respect to the initial demanded quantity per account.
The problem is exacerbated because, in general, no satisfactory polynomialalgorithm has been discovered that can be used in integer linear programming. Generally,
the practical experience shows that large-scale integer linear programs seem as yet
practically unsolvable or extremely time-consuming. The algorithm and embodiments
described herein provide an alternative approach to the problem and provide desirable
results.
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 18/35
145
BRIEF DESCRIPTION OF THE DRAWING
FIG. 1 is a block diagram of a system consistent with the present invention.
FIG. 2 is a flow diagram consistent with some embodiments.
FIG. 3 is a flow diagram consistent with some embodiments.
FIG. 4 is block diagram of a portion of a system consistent with some
embodiments.
DESCRIPTION
Applicant has recognized that there is a need for an improved system, method,
apparatus, computer program code, and means for allocating an executed order among a
plurality of customer accounts. In some embodiments, the present invention relates to
methods and apparatus for optimizing the distribution of trading executions in investor
accounts. Pursuant to some embodiments, an integer allocation algorithm is provided.
For the purposes of describing features of embodiments of the present invention, a
number of terms are used herein. For example, the terms “client”, “customer” or “investor”
are generally used interchangeably to refer to an individual or entity that has provided
instructions to execute a trade on its behalf.
As used herein, the term “optimization algorithm” is used to refer to a numerical
method or algorithm for finding a value x such that f (x) is as small (or as large) as possible,
for a given function f , possibly with some constraints on x. As used herein, the term “Tabu
search” refers to a mathematical optimization method that generally enhances the
performance of a local search method by using memory structures.
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 19/35
146
As used herein, the term “simulated annealing” is used to refer to a global
optimization technique which traverses the search space by generating neighbouring
solutions of the current solution.
In general, and for the purposes of introducing concepts of embodiments of the
present invention, customer orders are allocated among customer accounts pursuant to
embodiments of the present invention as follows. A customer who has multiple accounts at
a brokerage firm places a trade order. When the trade order is executed, the executed
quantities are fairly allocated on the customer’s accounts pursuant to allocation instructions
provided by the customer. In situations where the total ordered quantity is partially
executed at multiple prices, an allocation problem arises. Embodiments of the present
invention address the allocation problem by first determining the quantity of the orders that
are to be allocated to each account. In some embodiments, this is done on a pro-rata basis.
Embodiments then arrange execution price data associated with the executed orders
into separate lists or subsets. In one embodiment, price data is sorted into two lists or
subsets, although those skilled in the art will appreciate that different numbers (so long as
there are at least two) may be used. Once the price data has been sorted into lists or subsets
so that the executed prices are distributed across the subsets, the solution is improved
iteratively so that the executed prices are sorted in the best fashion possible. In this
manner, embodiments efficiently and accurately allocate executed prices across different
accounts. Further, embodiments allow this efficient and accurate allocation to be done
programmatically; something that prior approaches were unable to do effectively because
there is generally no polynomial algorithm for such integer linear programming problems.
Pursuant to some embodiments, a system, method, means, and computer program
code for generating an initial optimization are provided which include distributing two lists
of executed prices, including a first list of executed prices under an overall weight price,
and a second list of executed prices above the overall weight price, and distributing the
prices over the customers accounts such that at each iteration the executed prices that is the
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 20/35
147
closest distance between the average price of a given account and the overall average is
selected.
Features of some embodiments of the present invention will now be described byfirst referring to FIG. 1 where a block diagram of one embodiment of a trading network
100 is shown. As shown, trading network 100 includes a number of different components
which cooperatively operate to process, route and execute securities trading orders pursuant
to some embodiments of the present invention. In general, features of some embodiments
may be implemented in a trading environment such as the trading environment shown in
FIG. 1. For example, features of some embodiments may be used to allocate executed
orders across a number of accounts held by a customer such as customer 104a.
As depicted, trading network 100 includes a trading system 102 in communication
with one or more customer(s) 104, a plurality of order destinations 106, a source 108 of
order destination data, and one or more operator devices 109 (only one shown). Trading
system 102, in some embodiments, includes additional components (not shown), such as an
execution core, order routing functions, storage capabilities, etc. The execution core may
be any trading execution software, systems and/or devices which are configured to receive
customer orders and process them to execute orders on behalf of customers. In some
embodiments, the execution core may function to timestamp orders when received and to
assign an order identifier or sequence number to each order.
Some routing software or functionality may also be provided to receive an order
from the execution core or to receive information about an order and to make a
determination as to how the order is to be routed. Code, rules, or other components may be provided to implement the optimization and other algorithms described above to distribute
trading executions in customer accounts. Pursuant to some embodiments, trading system
102 includes, or has access to, a plurality of trading accounts associated with customers
104.
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 21/35
148
Although a single trading system 102 is shown in FIG. 1, any number of trading
systems may be included in trading network 100. Similarly, any number of data sources
108, customer devices 104, order destinations 106, operator devices or any other device
described herein may be included in the trading network 100 according to embodiments of
the present invention.
Each of the devices of trading network 100 may be formed of components or other
devices capable of performing the various functions described herein. For example, a
customer device 104 may be a computing device such as a Personal Computer (PC), a
laptop, a telephone, or other device associated with a customer. As used herein, the term“customer” may refer to, for example, an individual or other entity that buys and sells
securities (and pursuant to some embodiments of the present invention, options; for
purposes of this disclosure and the appended claims “securities” will be understood to
include options). For example, a customer operating a customer device may be a broker or
other entity desiring to purchase or sell securities using features of embodiments of the
present invention. The broker or other entity may be operating on behalf of the ultimate
purchaser or seller of the securities.
An order destination 106 may include any computing device(s) operated by or on
behalf of one or more order destinations. Each of the order destinations may be in
communication with other devices described herein, such as the data source 108, using
techniques known in the art. In general, the data source 108 may receive information from
the order destinations 106 upon the occasion of each order received by the order
destinations and/or after the completion of each trading transaction. Each order destination
106 may include one or more operator terminals allowing specialists or traders at the order
destination to respond to orders received and to complete execution of an order pursuant to
its terms.
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 22/35
149
Operator device 109 may, for example, be constituted by a computer terminal or by
a computing device such as a PC or a laptop in communication with the trading system
102.
As used herein, devices (e.g., trading system 102, operator device 109, order
destinations 106, customer devices 104 and data sources 108) may communicate, for
example, via one or more communication networks. For example, some or all of the
devices may be in communication via an Internet Protocol (IP) network such as the
Internet. Some or all of the devices may be in communication via other types of networks
such as an intranet, a Local Area Network (LAN), a Metropolitan Area Network (MAN), a
Wide Area Network (WAN), a proprietary network, a Public Switched Telephone Network
(PSTN), and/or a wireless network.
According to some embodiments of the present invention, communication between
some or all of the devices of trading network 100 may be via temporary computer
communication channel (e.g., a logic path through which information can be exchanged).
In other words, the communication channel between various devices may be established
and discontinued as appropriate. For example, trading system 102 may exchange
information with one of the order destinations 106 only when communication is necessary
to transmit an order for execution by the order destination 106 or to receive confirmation
from the order destination 106 that the order was executed.
According to some embodiments, some or all of the devices may communicate with
other devices via a public computer communication network. That is, at least a portion of
the communication network may be accessed by devices other than the devices depicted inFIG. 1. Note, however, that the information exchanged between trading system 102 and
other devices in FIG. 1 may be encrypted or otherwise protected to prevent a third party
from accessing, manipulating, understanding and/or misusing the information. In some
embodiments, some or all of the devices may communicate over a private network.
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 23/35
150
In other embodiments, the devices of FIG. 1 are connected differently than as
shown. For example, some or all of the devices may be connected indirectly to one another
(e.g., via the Internet). Of course, embodiments of the invention may include devices that
are different from those shown. It should also be noted that although the devices are shown
in communication with each other, the devices need not be constantly exchanging data.
Rather, communication may be established when necessary and severed at other times or
always available but rarely used to transmit data. Moreover, although the illustrated
communication links appear dedicated, it should be noted that each of the links may be
shared by other devices. Features of some embodiments may be used to allocate executed
orders across a number of accounts held by a customer such as customer 104a.
In some embodiments, the allocation is performed programmatically using, for
example, a computing device associated with or in communication with trading system
102. The allocation may be performed on a real-time basis (e.g., upon completion of a
trade requiring allocation), or on a batch or daily basis. Further details of such a computing
device will be provided below in conjunction with a description of FIG. 4. First, however,
reference is made to FIG. 2 where a process 200 is shown for trade processing. The flow
chart in FIG. 2 and the flow charts in other figures described herein do not imply a fixed
order to the steps, and embodiments of the present invention can be practiced in any order
that is practicable. Some or all of the steps of the process shown in FIG. 2 may be
performed, for example, by a trading system such as the trading system 102 of FIG. 1. In
some embodiments, some of the steps of the process are performed by an allocation system
such as the system 400 of FIG. 4.
Process 200 begins at 202 where a trade order is received. For example, the tradeorder may be received at trading system 102 in any of a number ways commonly known in
the art. The trade order may be received from a customer having a number of accounts at,
for example, a brokerage. The customer may also provide allocation instructions
associated with the execution of the order. For example, if the customer has four accounts,
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 24/35
151
the customer may indicate that the executed quantities be allocated in a certain way across
those four accounts.
Processing continues at 204 where price breakdowns associated with the trade order
are identified. Price breakdowns are identified, for example, during or after the execution
(or attempted execution) of an order. As discussed above, price breakdown occurs when
the total ordered quantity is fully or partially executed at multiple prices. Pursuant to some
embodiments, this price breakdown may be identified by the trading system (such as
trading system 102) or after processing by a system such as the allocation system 400 of
FIG. 4.
Processing continues at 206 where features of embodiments of the present inventionare used to optimize trade allocation associated with the order. In general, embodiments
utilize a multi-step process that includes an iterative improvement to a distribution. Further
details of the multi-step process will be provided below in conjunction with FIG. 3.
Once the trade allocation among the various accounts has been optimized,
processing continues to 208 where the distribution is performed. For example, the
distribution may be performed by a trading system such as the trading system 102 of FIG.
1. The distribution may also be performed by a brokerage computing system or some other
system or device. The end result is an efficient and accurate allocation and distribution of
executed orders among various accounts.
Trade allocation processing pursuant to embodiments of the present invention will
be described in conjunction with FIG. 3. Prior to a discussion of FIG. 3, a brief
introduction to the algorithms and nomenclature will first be provided. As discussed
above, in general, there is no polynomial algorithm that is satisfactory for integer linear
programming (e.g., a problem which is NP -complete). In general, the existing large-scale
integer linear programs are practically unsolveable or extremely time-consuming. The
algorithm described for use in conjunction with embodiments herein provides an alternative
approach to the problem.
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 25/35
152
Given a set of n accounts that an investor or customer may have open with a
brokerage firm, the following discussion provides an introductory description of the
manner in which the investor wants to distribute the total quantity of an order placed for a
certain financial product on the accounts opened with the brokerage. Formula (1) describes
the order (where Q is the total ordered quantity), and the accounts and allocation is shown
by Formula (2) (also referred to as the breakdown scheme or allocation instructions).
(1) ∑=
=n
i
jqQ1
,
(2) ⎥⎦
⎤⎢⎣
⎡
n
n
qqqq
A A A A
L
L
321
321 ,
On the market or exchange, the total ordered quantity may be executed in multiple
portions (tranches or blocks) at different prices as show in Formula (3):
(3)
( )( )( )
( )⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢
⎣
⎡
mm e p
e p
e p
e p
,
,
,
,
33
22
11
M
, where ( )ii e p , , mi ,1=
The pairs ( pi, ei) are the pair of the executed quantity (ei) and the executed price ( pi)
and where m is the number of executions received from the market for the corresponding
order. The following condition, shown as Formula (4), is in place:
(4) ∑∑==
=≤=≤n
j
j
m
i
i qQ E e11
0
where E is the total executed quantity. That is, as described above, an order may be fully
executed, partially executed or not executed at all. Pursuant to some embodiments, a
solution is provided for the integer allocation problem of finding the appropriate
distribution D of the executed quantities in the investors’ accounts, based on the investor’s
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 26/35
153
allocation instructions. The solution provides - for each account - the closest average price
to the overall average. Put another way, the solution minimizes the function shown in
Formula (5):
(5) ( )∑=
−=n
j
j p po1
,
Where ( ) j p p − is the absolute value of Formula (6):
(6) ( ) j p p − ,( )
∑
∑
=
=
×
=m
i
ij
m
i
iji
j
a
a p
p
1
1 is the average price per account, and
(7)( )
∑
∑
=
=
×
=m
i
i
m
i
ii
e
e p
p
1
1 is the overall (weighted) average price, as shown in
Formula (8), below:
(8)
( )
( )
( )
⎥⎥⎥⎥⎥⎥⎥⎥
⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎢⎢⎢
⎣
⎡
=
n
mnmm
n
n
n
mm
p p p
aaa
aaa
aaa
A A A
D
p
e p
e p
e p
L
L
MMMM
L
L
L
M
21
21
22221
11211
21
22
1
,
,
1,
.
With this background and context, reference is now made to FIG. 3 where a process
300 is shown for trade allocation processing. Some or all of the steps of the process shown
in FIG. 3 may be performed, for example, by, a system such as the allocation system 400 of FIG. 4. In some embodiments, some or all of the steps of the process may be performed by
a trading system such as the trading system 102 of FIG. 1.
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 27/35
154
Allocation processing may begin once a price breakdown has been associated with
an order (e.g., in real time, or in a batch process at the end of day). Allocation processing
begins at 302 where the total executed quantity of a trade order is allocated proportionally
on accounts based on the customer’s allocation instructions. For example, the total
executed quantity is allocated proportionally on the customer’s accounts on a pro-rata
basis. In one embodiment, processing at 302 includes determining a pro-rata coefficient for
each customer account. Formula (9) illustrates one embodiment of such a determination.
(9) 10
1
≤=≤
∑=
n
j
j
j
j
q
qc , n j ,1= .
In this illustrative embodiment, the coefficients represent the proportional number of executed orders or lots that have to be allocated per account from each execution,
according to the customer’s allocation instructions.
Once this coefficient has been determined, processing continues where a calculation
is performed to identify the percentage the demanded quantity has been satisfied for each
account. Formula (10) illustrates one embodiment of this calculation (where jc E × is the
integer part of jc E × (truncation)):
(10)( )
100××−
= j
j j
jq
c E q f , n j ,1=
The remaining or residual quantity per account is then shown by Formula (11):
(11) j j j c E qr ×−= , n j ,1= .
And the total remaining quantity to be allocated is expressed by Formula (12):
(12) ( ) ∑∑ ===×−=
n
i
j
n
i
j j r c E q R11
.
In addition, each account may be assigned a certain priority n jt j ,1= .
The tableau shown as Formula (13) describes the above-mentioned correspondences:
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 28/35
155
(13) ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
n
n
n
n
n
n
t t t t
r r r r
f f f f
cccc
qqqq
A A A A
L
L
L
L
L
L
321
321
321
321
321
21 3
Put another way, processing at 302 includes the calculation of a pro-rata allocation as
follows in Formulas (14)-(21):
(14) n jc j ,1=
(15) n jc E A j j
,1=×←
(16) n jr f j j ,1, =
(17) ∑=
←n
i
jr R1
while 0> R
(18) ( ) n jt r f j j j ,1,, =
(19) { } ⎭⎬⎫
⎩⎨⎧
⎭⎬⎫⎩⎨⎧ ⊗⊗← ===j
n j j
n j j
n j f r t k ,1,1,1 minmaxmin
ls A A k k +← (where ls is the lot size specific to the financial product)
(20) k k r f ,
(21) ls R R −←
Where Formula (14) results in a determination of the coefficient, Formula (15) distributesthe total executed amount proportionally, Formula (16) determines the percentage the
demanded quantity has been satisfied, and Formulas (18)-(20) determine the account that
will receive one of the remaining lots based on certain criteria.
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 29/35
156
At this point, processing of 302 is complete, and a quantity to be allocated to each
account has been determined. Processing continues at 304 where an initial distribution is
constructed by distributing the executed prices in at least two lists. Put another way, the
data is arranged based on a strategy consistent with the objective function. In general, the
executed prices are sorted in ascending order of their absolute distance from the overall
average as shown in Formula (22):
(22) p , ( ) p pl ii −= , mi ,1= .
Once the prices are sorted, in some embodiments, two subsets of prices are created: (1)
those that are less or equal than the overall average p , and (2) those that are greater than
the average. These subsets are shown by Formula (22):
(22)( )( )mk p p pV
mk p p pU
k k
k k
≤′≤>=
≤≤≤=
′′ 1,:
1,:
The strategy, in some embodiments, is to allocate the closest prices to the overall average
to the accounts that have the least demand, while the accounts with a greater demand will
have a higher probability to receive prices that will compensate each other. If there are
multiple accounts with the same demanded quantity, they will receive one lot size at a time
from the same executed price till the corresponding executed quantity is exhausted. The
general algorithm is described below algorithm is described below by Formulas (23)-(__):
(23) ( ) p pl ii −= , mi ,1= .
(24) { }0;min,1
>←=
iimi
c
j el p
(25) ( ) ( )⎪⎭⎪⎬
⎫
⎪⎩⎪⎨
⎧
+
×+×←
∈∈ lsa
ls pa p p c
j
k
c
j
c
j
V pU p
n j
k
k min (where ls is the lot size specific to the financial product,
∑=
=m
i
ij j aa1
is the total allocated quantity in account A j , and c
j
n
j p p , are the new and the current
average price per account, respectively,
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 30/35
157
(26) lsaa c
kj
n
kj +← (wheren
kja is the new allocated quantity in account A j at price pk ),
(27) n xqq x j x j ≤≤=∈ 1,:
(28) lsaa c
j
n
j +← (where
n
ja is the new total allocated quantity in account A j),
(29)n xqq x j x j ≤≤=∈ 1,:
(30)lsee k k −←
(where k e
is the remaining quantity at price k p
)
Where Formulas (23)-(27) are reiterated from nto j 1← and result in an initialization of
the current local average price for which there is an executed quantity available, and search
for the price which provides the least impact on the local average (in both subsets U andV). At this point, processing 304 is complete and a solution for the larger integer allocation
problem has been found. This solution is used as an initial base for the optimization of
306.
Processing at 306 includes iteratively improving the distribution to improve the
objective function, which is shown as Formulas (31) and (32):
(31) ⎭⎬
⎫
⎩⎨
⎧Δ=
∑=
n
j jO 1min , where ),1(1 n j p
p j
j=−=Δ
, and jΔ
is the
absolute value of jΔ .
(32)
( )( )
( )
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
ΔΔΔ
←
→
=
n
n
mnmm
n
n
n
mm
p p p
aaa
fromY toX
toY fromX
aaa
aaa
A A A
D
p
e p
e p
e p
LL
LL
LL
MMMMM
LL
MM
LL
MMMMM
LL
LL
LL
M
M
21
21
21
22221
11211
21
22
11
,
,
,
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 31/35
158
The algorithm is to identify a pair of accounts between which one lot size can be
swapped, at different prices, so that the value of the objective function drives the searching
toward the optimal solution or toward a close vicinity of the optimal, as shown in Formulas
(33)-(36) (where Formula (36) is a series of formulas):
(33) { }doubleObest max←
(34) ),1(1 n j p
p jc
j =−=Δ
(35) ∑=
Δ←n
j
c
jcO1
(the current objective function)
(36) determine ( ) ( ){ }Col RowCol Row max,max,min,min
if have swap
while not optim
make the interchange and determine the new deltas),1( n jn
j =Δ
∑=
Δ←n
j
n
jnO1
(the next objective function)
if cn OO ≥
if best c OO ≤
cbest OO ← , clear the objective function history
if ( ) eTemperatur Annealing OO best n <−
if Annealing Temperature is tuned
warm up
else
tune the Annealing Temperature, and cool down
else
trueoptim ←
else if best n OO ≤
nbest OO ← , clear the objective function history
if optim
swap back the previously interchanged quantities
else
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 32/35
159
nc OO ←
append the moves to the Tabu List
remove the moves older than the Tabu List length
preserve the current objective function data in the history
determine ( ) ( ){ }Col RowCol Row max,max,min,min
if have swap
warm up
else
trueoptim ←
if cbest OO <
go back in the history to the best found objective function (solution)
Note that at each step the value of the objective function does not need necessarily to beless than at the previous step (that would be a simple Greedy or Steepest Ascent strategy).
Using a Simulating Annealing approach, the algorithm allows relaxation, for escaping from
the trap of local optimums, and for redirecting the search, within the space of the solutions,
toward the global optimum proximity.
However, allowing relaxation opens the possibility of cycling. Introducing a Tabu List , the
search acquires a short-term memory, which prevents going back down the paths that have been already explored. In some embodiments, the Tabu List stores a triad of data,
including: account FROM, account TO, and price AT.
Pursuant to some embodiments, a procedure of the algorithm is to determine
between which accounts, and at what prices a swap can be made at a given point. In some
embodiments, a Min-Max strategy is employed. At each iteration we attempt to swap one
lot size between the account which has the lowest average price and the account which has
highest one (this is the Max part of the strategy). The Min part of the strategy comes in
place when the executed prices at which the swap is to be made are selected. That is, the
system performs some fine tuning and looks for the pair of prices for which the swap will
have the least impact on the average price of the pair of accounts concerned. This is shown
in Formula (37):
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 33/35
160
(37) If { } { } ε <⎟ ⎠ ⎞
⎜⎝ ⎛ Δ−Δ
==j
n j j
n j ,1,1minmax ( 10 << ε )
If Formula (37) is satisfied, then processing stops and the best solution has been found.
As with the majority of the heuristic algorithms, the reach of the optimum is not necessarily
guaranteed. Nevertheless, Applicant’s testing have showed significant and consistent
improvements processing at 306 is completed (as compared to the results provided at the
end of processing at 304). In this manner, pursuant to some embodiments, a system,
method, means and computer program code for determining a pair of accounts between
which one lot size has to be swapped, includes operating a Tabu search in the space of
solutions, performing a simulated annealing technique in conjunction with the Tabu Search,and combining the two techniques to solve an integer allocation problem.
Processing continues at 308 where the allocation is finalized. For example,
processing at 308 may include transmitting an allocation message to a trading system (e.g.,
such as the system of FIG. 1), or to an entity managing the customer’s brokerage accounts
so that the allocation can be deployed.
Reference is now made to FIG. 4, where an illustrative allocation system 400 is
shown. As described above, the allocation system 400 may be operated in conjunction
with, or be a part of, trading system 100 of FIG. 1. As depicted, allocation system 400
includes a computer processor 405 operatively coupled to a communication device 410, a
storage device 415, an input device 420 and an output device 425. Communication device
410 may be used to facilitate communication with, for example, other devices (such
devices in trading system 100, etc.). Input device 420 may comprise, for example, akeyboard, a keypad, a mouse or other pointing device, a microphone, knob or a switch, an
infra-red (IR) port, a docking station, and/or a touch screen. Input device 420 may be used,
for example, to enter information (e.g., information regarding routing rules or the like).
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 34/35
161
Output device 425 may comprise, for example, a display (e.g., a display screen), a speaker,
and/or a printer.
Storage device 415 may comprise any appropriate information storage device,
including combinations of magnetic storage devices (e.g., magnetic tape and hard disk
drives), optical storage devices, and/or semiconductor memory devices such as Random
Access Memory (RAM) devices and Read Only Memory (ROM) devices.
Storage device 415 stores one or more programs 430 for controlling processor 405.
Processor 405 performs instructions of program 430, and thereby operates in accordance
with the present invention. In some embodiments, program 430 may be a rule-based
engine that the allocation scheme described above in conjunction with FIG. 3. In some
embodiments, program 430 may be configured as a neural-network or other type of
program using techniques known to those skilled in the art to achieve the functionality
described herein.
Storage device 415 also stores databases, including, for example, a database 435
storing allocation instructions (received from customers), a database 440 storing trade data
(including order data received from trading system 100), and a database 445 storingexecution data (from trading system 100). The data from these datastores are used in
conjunction with the program to perform the processing of FIG. 3. Other databases and
configurations may also be provided.
Although the present invention has been described with respect to a preferred
embodiment thereof, those skilled in the art will note that various substitutions may be
made to those embodiments described herein without departing from the spirit and scope of the present invention.
8/14/2019 Scala de Incrementare a Preţurilor La Bursa Din Tokyo Preţul
http://slidepdf.com/reader/full/scala-de-incrementare-a-preturilor-la-bursa-din-tokyo-pretul 35/35
We claim:
1. A method, system, apparatus, computer code, or means, comprising:
allocating a total executed quantity proportionally on a plurality of customer
accounts, said allocating based on a pro-rata basis; andconstructing an initial solution, distributing the executed prices.
2. The method, system, apparatus, computer code, or means of claim 1, further
comprising:
iteratively improving said initial solution by employing Tabu Search in conjunction
with Simulated Annealing heuristics.