online portfolio selection - tu wiensgerhold/pub_files/sem13/s_thaller.pdf · online portfolio...
TRANSCRIPT
Online Portfolio SelectionEin Uberblick
Seminar aus Finanz- und Versicherungsmathematik
Wintersemester 2013/2014
Autor:Ralph Thaller
1127026
Betreuer:Dr. Stefan Gerhold
15. Februar 2014
Inhaltsverzeichnis
1 Einfuhrung 2
2 Das Setting 3
3 Das Online Portfolio Selection Modell 43.1 Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2 Follow-the-Winner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63.3 Follow-the-Loser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.4 Pattern-Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.5 Meta-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4 Implementierung 144.1 DAX 2012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2 DAX 2008 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164.3 DOW 2008-2010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5 Capital Growth Theory 185.1 Zugrundeliegende Handelsprinzipien . . . . . . . . . . . . . . . . . . . . . 19
6 Zukunftige Entwicklungen und offene Fragen 206.1 Vorhersage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206.2 Portfolio Optimierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7 Anhang 227.1 Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227.2 Verwendete Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237.3 Verwendete Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237.4 Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1
Kapitel 1
Einfuhrung
Online Portfolio Selection ist ein fundamentales Problem der Finanzinformatik und einpraktisches Problem der Finanzmathematik. Das Ziel sollte immer sein, die Allokationeines Vermogens uber eine bestimmte Anzahl von Anlagen zu optimieren um ein moglicheshohes Vermogen zu generieren.
Dabei gibt es zwei grundlegende Ansatze: Auf der einen Seite die Mean Variance Theo-ry, die aus dem Finanzbereich kommt, und auf der anderen Seite die Capital GrowthTheory, die aus der Informationstheorie entstanden ist.
Die Mean Variante Theory versucht in einer Periode einen Ausgleich zwischen Risiko(Varianz) und Return (Durchschnitt) zu schaffen und die Praferenzen des Anlegers bzgl.dieser beiden Faktoren optimal zu berucksichtigen. Sie wurde von Harry Markowitz ent-wickelt, wofur er auch 1990 den Nobelpreis fur Wirtschaft erhielt. Seine Arbeit wirkt bisheute nach, ein Großteil der modernen Portfoliotheorie basiert auf seinen Uberlegungen.
Die Capital Growth Theory stutzt sich auf mehreren Perioden und versucht den Log-Return des Portfolios zu maximieren. Sie entstand aus der Arbeit des Physiker John L.Kelly von den bekannten Bell Labs. Diese Theorie hat auch heute noch weitreichendenAnwendungen, nicht nur in der Finanzmathematik, sondern auch in der Spieltheorie. InKapitel 5 werden wir noch naher auf die Capital Growth Theory eingehen.
Diese Arbeit soll einen Uberblick uber die Algorithmen zur Losung dieses Problems bieten.
2
Kapitel 2
Das Setting
Wir bewegen uns in einem Finanzmarkt mit m Assets und legen all unser Geld in diesemMarkt uber eine Dauer von n Perioden an. Die Anderung des Marktpreises wird voneinem m-dimensionalen relativen Preisvektor xt ∈ Rm
+ wiedergeben, wobei t = 1, ..., n.xt,i gibt also die relative Anderung des Preis der i-ten Anlage zum Zeitpunkt t im Vergleichzum Zeitpunkt t− 1 wieder. Marktpreisanderungen zwischen den Zeitpunkten t1 und t2(t1 < t2) schreiben wir als Vektor xt2t1 = {xt1 , . . . , xt2}.
Ein Investment zu Beginn der Periode t ist als Portfoliovektor bt, wobei t = 1, . . . , n.bt,i gibt den Anteil der i − ten Anlage am Portfolio zur Zeit t an. Wir nehmen an dasPortfolio ist selbstfinanzierend und erlauben kein Short gehen. So konnen wir die Menge∆m aller erlaubten Portfolios definieren als
bt ∈ ∆m = {b : b ≥ 0,n∑k=1
bk = 1}.
Unsere Portfolio Strategie konnen wir als Funktion bt : Rm(t−1)+ → ∆m mit b1,i = 1/m∀i.
Der Portfolio Manager bestimmt also fur die Periode t ein Portfolio bt und halt es bis zurnachsten Periode. Der Wert des Portfolios andert sich mit dem Faktor bTt xt =
∑mi=1 bt,ixt,i.
Da das gesamte Kapital wieder investiert wird und die xt,i relative Preisanderungen sind,andern sich der Portfoliowert multiplikativ. Eine Portfoliostrategie bn1 = {b1, . . . , bn} ge-neriert also nach n Perioden, bei einem Anfangswert von S0, einen Endwert von
Sn(bn1 ) = S0
n∏t=1
bTt xt = S0
n∏t=1
m∑i=1
bt,ixt,i.
Wir definieren noch das Symbol � als elementweise Multiplikation.
3
Kapitel 3
Das Online Portfolio SelectionModell
Wir wollen die Definitionen in unserem Setting kombinieren und so die Aufgabe einesPortfolio-Selektions-Algorithmus formulieren.
Das Grundlegende Ziel des Entscheiders, in unserem Fall ein Portfoliomanager, sollteimmer sein, eine Portfoliostrategie bn1 zu bestimmen, mit der er den Portfoliowert Sn ma-ximieren kann. Dies lauft im Normalfall wie in Algorithmus 1 ab.
Result: SnS0 = 1, b1 = ( 1
m, . . . , 1
m)
for t=1,. . . ,n doPortfoliomanager bestimmt bt;Markt bestimmt xt;St = St−1 · (bTt xt)Portfoliomanager uberdenkt seine Regeln zur Portfoliobestimmung
endAlgorithmus 1: Online Portfolio Selection
Wir treffen noch drei vereinfachende Annahmen:
1. Keine Transaktionskosten
2. Der Markt ist ausreichende liquide, jede Anlage kann zum Schlusskurs verkauftwerden
3. Eine Aktion hat keinen Impact am Markt
Diese Annahmen sind zwar realitatsfern, vereinfachen jedoch die dargestellten Algorith-men stark und sind in der Fachwelt weit verbreitet. Ideen zur Lockerung dieser Restrik-tionen werden in Kapitel 6 gegeben.
Eine Ubersicht uber Algorithmen zur Losung dieses Problems gibt Tabelle 3.1, im Fol-genden soll eine Auswahl davon vorgestellt werden.
4
Klassifikation Algorithmus
BenchmarksBuy And HoldBest StockConstant Rebalanced Portfolios
Follow-the-Winner
Universal PortfoliosExponential GradientFollow the LeaderFollow the Regularized LeaderAggregating-type Algorithms
Follow-the-Loser
Anti CorrelationPassive Aggressive Mean ReversionConfidence Weighted Mean ReversionOnline Moving Average ReversionRobust Median Reversion
Pattern-Matching Approaches
Nonparametric Histogram Log-optimal StrategyNonparametric Kernel-based Log-optimal StrategyNonparametric Nearest Neighbor Log-optimal StrategyCorrelation-driven Nonparametric Learning StrategyNonparametric Kernel-based Semi-log-optimal StrategyNonparametric Kernel-based Markowitz-type StrategyNonparametric Kernel-based GV-type Strategy
Meta-Learning Algorithms
Aggregating AlgorithmFast Universalization AlgorithmOnline Gradient UpdatesOnline Newton UpdatesFollow the Leading History
Tabelle 3.1: Ubersicht uber verschiedene Online Portfolio Selection Algorithmen
3.1 Benchmarks
Algorithmen der Klasse Benchmarks sollen einen Vergleichswert geben.
3.1.1 Buy and Hold
Einer der einfachsten Zugange ist die Buy and Hold (BAH) Strategie, bei der man inein Portfolio b1 investiert und dies bis zum Ende halt. Dabei wird das Portfolio naturlichdurch die Preisschwankungen geandert, der Portfoliomanager lasst es jedoch unberuhrt.Fur das Endkapital ergibt sich:
Sn = b1 · (n⊙t=1
xt).
5
3.1.2 Best Stock Strategy
Die Best Stock Strategie (BSS) verschiebt im Nachhinein das ganze Kapital auf die Aktiemit der besten Performance. Damit ergibt sich als Vermogen nach n Perioden:
Sn = maxb∈∆m
b · (n⊙t=1
xt).
3.1.3 Constant Rebalanced Portfolio
Eine weitere Benchmark Strategie ist die des Constant Rebalanced Portfolio (CRP). Dabeiwird nach jeder Periode das Portfolio umgeschichtet um immer ein konstantes Portfoliozu besitzen. Am Ende ergibt sich das Vermogen als
Sn =n∏t=1
bT · xt.
Wir wollen auch noch das Best Constant Rebalanced Portfolio (BCRP) b∗ einfuhren. Esergibt sich im Nachhinein als das beste CRP.
b∗ = arg maxb∈∆m
n∑j=1
log(b · xj)
Cover und Thomas zeigten 1991 [1], dass in einem i.i.d. Markt das BCRP das optimalePortfolio ist.
3.2 Follow-the-Winner
Strategien des Typs Follow-the-Winner sind dadurch charakterisiert, dass sie das Gewichtvon gut performenden Aktien und Experten erhohen.
3.2.1 Universal Portfolio
Eine Universal Portfolio Strategie (UP) teilt das Geld auf verschiedene Experten auf, lasstdiese frei agieren und sammelt am Ende alles wieder ein. Ein Spezialfall dieser Strategieist die Buy and Hold Strategie. Dabei kauft der Experte genau eine Anlage zu Beginnund es gibt soviel Experten wie Anlagen. Im Allgemeinen Fall kann der Experte jedochmit einer beliebigen Strategie in beliebige Anlagen investieren.
Als Beispiel sei die Universal Portfolio Strategy von Cover [2] genannt. Dabei gibt µ eineVerteilung auf ∆m an. Jeder Experte bekommt dµ(b) und operiert mit einer CRP Strategieb ∈ ∆m, hat also am Ende ein Vermogen von Sn(b)dµ(b). Nun wird das Vermogen wiederzusammengelegt. Es ergibt sich
Sn =
∫∆m
Sn(b)dµ(b).
6
3.2.2 Exponential Gradient
Strategien aus der Exponential Gradient (EP) Klasse reduzieren sich meist auf das Op-timierungsproblem
bt+1 = arg maxb∈∆m
η · log b · xt −R(b, bt),
wobei R(b, bt) einen Regularisierungsterm und η > 0 eine Lernrate widerspiegelt. Eineeinfache Interpretation ist, dass die beste Anlage verfolgt werden soll aber das Portfolionicht zu weit vom letzten wegliegen sollte.
Helmbold [3] fuhrte eine solche Strategie ein. Er benutzte die relative Entropie als Regu-larisierungsterm:
R(b, bt) =m∑i=1
bi · logbibt,i.
Mittels Taylorapproximation des Logarithmusterms und der Methode Expectation Maxi-mization ist es moglich das Maximierungsproblem zu losen und zu folgender einfachenUpdateregel zu kommen:
bt+1,i = bt,i
(η
(xt,ibt · xt
− 1
)+ 1
)
3.2.3 Follow the Leader
Follow the Leader (FTL) Strategien versuchen dem Best Constant Rebalanced Portfoliobis zur Zeit t, also
bt+1 = b∗t = arg maxb∈∆m
t∑j=1
log(b · xj)
zu folgen.
Ordentlich [4] nennt als Beispiel eine Strategie, die eine BCRP mit einem konstantenPortfolio mischt:
bt+1 =b
t+ 1b∗t +
1
t+ 1
1
m.
Gaivoronski und Stella [5] stellen die Weighted Successive Constant Rebalanced PortfoliosStrategie auf. Diese fuhrt auf folgende Konvexkombination:
bt+1 = (1− λ)b∗t + λbt,
wobei λ ∈ [0, 1] ein Ausgleichsparamter ist.
7
3.2.4 Follow the Regularized Leader
Follow the Regularized Leader (FTRL) verfolgt einen ahnlichen Ansatz wie die FTL Stra-tegien, es kommt aber zusatzlich ein Regularisierungsterm ins Spiel. Allgemein konnenFTRL so formuliert werden:
bt+1 = arg maxb∈∆m
t∑i=1
log(b · xi)−β
2R(b),
wobei β einen Ausgleichsparamter darstellt und R(b) ein Regularisierungsterm ist. AlsBeispiel fur R(b) sei die L2-Norm ||b||2 genannt.
Agarwal [6] loste das Optimierungsproblem mittels Online Convex Optimization Techni-ken um zum Online Newton Step (ONS) Algorithmus zu kommen. Dabei wird ahnlichwie in Newtons Methode zur Optimierung der Logarithmus durch Taylorpolynome 2.Ordnung approximiert. Damit kommt die ONS zu folgender geschlossener Form:
b1 = (1
m, . . . ,
1
m), bt+1 =
At∏∆m
(δA−1t pt)
At =t∑i=1
(xix
Ti
(bi · xi)2
)+ Im
pt =
(1 +
1
β
)∑i=1
txi
bi · xi,
wobei β wieder ein Ausgleichsparamter, δ ein Skalierungsterm und∏At
∆meine exakte
Projektion auf die Simplex Ebene ist.
Follow-the-Winner Algorithmen fokussieren sich meist auf die Worst-Case-Szenarien. Esgibt jedoch auch Algorithmen in dieser Kategorie, die versuchen dies mit einem Average-Case investing zu mischen, dem Geometrie Brownian Motion Modell. Diesem Modell, dasssogenannte Exp-Concave-FTL, liegt ein leicht anderes Optimierungsproblem zugrundeund kommt, mit einem L2-Norm Regularisierungsterm zu folgender Form:
bt+1 = arg maxb∈∆m
t∑i=1
log(b · xi)−1
2||b||2.
3.2.5 Aggregating-type Algorithms
Fur i.i.d. Markte ist die BCRP Strategie optimal, aber die Annahme, dass die Returnsan realen Markten unabhangig und identisch verteilt sind, ist sehr kontrovers, das be-deutet aber, dass ein optimales Portfolio moglicherweise kein CRP ist. Die Klasse derAggregating-type Algorithms (AA) ist dazu entwickelt worden, anderen Experten zu fol-gen. Dabei investieren die Experten all ihr Vermogen in eine Anlage.
8
Volk und Watkins [7] wendeten diesen Ansatz nun auf unser Problem an. Dabei ist dervorher erwahnte UP von Cover ein Spezialfall der Anwendung von AA. Man setzt dabeieine endliche Menge von Experten ein und verschiebt dann das Geld zwischen diesenExperten um eine gute Performance zu erzielen. Volk und Watkins kommen dabei zufolgender Portfolio-Update Regel:
bt+1 =
∫∆m
b∏t−1
i=1 (b · xt)η P0 (db)∫∆m
∏t−1i=1 (b · xt)η P0 (db)
,
wobei P0(db) die Ausgangsgewichte und η einen Lernparameter reprasentieren. UP istder Spezialfall mit η = 1 und Gleichverteilung fur P0(db).
Als anderer Ansatz sei der von Singer [8] vorgeschlagene Switching Portfolio (SP) Algo-rithmus genannt. Dieser soll vor allem auf Markte reagieren, in dem sich das Verhalten derAktien haufig andert. SP nimmt eine Menge von Strategien an und gibt eine Verteilunguber sie vor. Basierend auf dem Return den die Strategien abwerfen, ist es dann moglich,das nachste Portfolio zu berechnen. Es ist nun moglich eine geometrische Verteilung mitfixem Parameter λ zu wahlen oder den Parameter uber die Zeit zu andern. Fur variablesλ ist keine geschlossene Form moglich, fur λ fix ergibt sich:
bt+1 =
(1− λ− λ
m− 1
)bt +
λ
m− 1.
3.3 Follow-the-Loser
Follow-the-Loser Algorithmen sind dadurch charakterisiert, dass sie ihr Vermogen aufschlechter performende Aktien setzen und annehmen, dass diese sich in der Zukunft besserentwickeln werden. Man spricht in diesem Zusammenhang in der Statistik von ”Regressionzur Mitte”, und meint damit, dass Markte zur Ubertreibung neigen und Volatilitat undPreise von starken Aktien im Mittel wieder fallen werden. Die Anwendung dieser Theoriefur Kapitalmarkte bezeichnet man als Mittelwertruckkehr oder Mean Reversion Effekt.
3.3.1 Anti Correlation
Borodin, El-Yaniv und Gogan [9] haben die Anti Correlation (Anticor) Strategie ein-gefuhrt. Es wird von einer positiven Kreuzkorrelation und einer negativen Autokorrelationder Returns ausgegangen.
Fur die Zeitfenster y1 = log(xt−wt−2w+1) und y2 = log(xtt−w+1) wird die Kreuzkorrelations-matrix bestimmt
Mcov(i, j) =1
w − 1(y1,i − y1)T (y2,j − y2)
Mcor(i, j) =
{Mcov(i,j)σ1(i)∗σ2(j)
σ1(i), σ2(j) 6= 0
0 sonst
9
Dann wird das Vermogen umgeschichtet. Wenn sich Anlage i besser als j entwickelt undsie sind positiv korreliert, dann wird Mvor(i, j) − min{0,Mcor(i, i)} − min{0,Mcor(j, j)}normalisiert und von i nach j umgeschichtet.
3.3.2 Passive Aggressive Mean Reversion
Bei Passive Aggressive Mean Reversion Strategien (PAMR) versucht man mittels einerBarriere in einer Verlustfunktion die Mittelwertruckkehr Eigenschaft auszunutzen. Eswird eine Verlustfunktion definiert, die wenn der Return der letzten Periode großer alseine Große ε ist den Verlust gleich 0 setzt und sonst den Verlust linear erhoht. Also
lε(b, xt) =
{0 b · xt ≤ ε
b · xt − ε sonst,
wobei ε ∈ [0, 1] ein Parameter fur die Starke der Mittelwertruckkehr ist. Wenn der Verlust0 ist, bleibt die Strategie beim aktuellen Portfolio, sonst wird sehr aggressiv umgeschich-tet. Hierbei stoßt man auf folgendes Optimierungsproblem [10]:
bt+1 = arg minb∈∆m
1
2‖b− bt‖2 mit lε(b, xt) = 0.
Die Losung fuhrt auf die geschlossene Form
bt+1 = bt − τt(xt − xt)
τt = max
{0,bt · xt − ε‖xt − xt‖2
}.
Die Autoren legen hier jedoch keinen Wert auf die Positivitat der Werte, short selling warebei diesem Algorithmus also vonnoten. Man kann jedoch einfach eine Simplex Projektionam Ende durchfuhren.
3.3.3 Confidence Weighted Mean Reversion
Der Confidence Weighted Mean Reversion (CWMR) Algorithmus zielt auf das Ausnutzenzusatzlicher Portfolioinformationen, im Speziellen die Varianz der Portfoliogewichte, inVerbindung mit der Mittelruckkehr ab.
Dazu nimmt man eine multivariate Normalverteilung mit Mittelwert µ ∈ Rm und Kova-rianzmatrix Σ ∈ Rm×m, mit Diagonalelementen σ2 und 0 sonst. Dabei reprasentiert derMittelwert unser Wissen uber das Portfolio und die Kovarianzmatrix gibt an, wie sicherwir uns dabei sind. CWMR wahlt dann aus der Gaußverteilung mit diesen Parameternein Portfolio bt ∈ N(µt,Σt). Li kommen zu der geschlossenen Form
µt+1 = µt − λt+1Σt(xt − xt)Σ−1t+1 = σ−1
t + 2λt+1φxtxTt
wobei λ einen Lagrange Multiplikator reprasentiert. (Siehe [11])
10
3.3.4 Online Moving Average Reversion
Mit dem Online Moving Average Reversion (OLMAR) Algorithmus wird versucht, dieMean Reversion Eigenschaft uber mehrere Perioden besser auszunutzen, was bei CWMRund PAMR nicht gelingt. Dazu wird fur eine vorgegebene Fenstergroße w der nachstePreisvektor mittels eines Moving Average
xt+1(w) =1
w
(1 +
1
xt+ · · ·+ 1
(⊙w−2
i=0 xt−i)
)
vorhergesagt. Als nachster Schritt, wird ahnlich wie bei CWMR und PAMR, das nachstePortfolio berechnet mittels
bt+1 = bt + λt+1(xt+1 − xt+1)
λt+1 = max
{0,
ε− btxt+1
‖xt+1 − xt+1‖2
}.
Nun folgt noch ein Normalisierungsschritt:
bt+1 = arg minb∈∆m
‖b− bt+1‖2.
3.3.5 Robust Median Reversion
Als letztes sei der Robust Median Reversion (RMR) Algorithmus von Huang genannt.Hier wird versucht, auf Ausreißer mehr Wert zu legen. Dies geschieht durch den Einsatzeines L1-Median Schatzers.Die Idee dahinter ist, den nachsten Preisvektor pt+1 mittels L1-Median Schatzers inAbhangigkeit von w vergangenen Werten vorherzusagen.
pt+1 = L1medt+1(w) = arg minµ
w−1∑i=0
|pt+1 − µ|
Der relative Preisvektor ergibt sich also als
xt+1(w) =pt+1(w)
pt.
Die Losung erfolgt ahnlich wie beim bereits in 3.3.4 beschriebenen OLMAR Algorithmus.
3.4 Pattern-Matching
Pattern-Matching Algorithmen versuchen vor allem in nicht i.i.d. Markten eine optimaleStrategie zu finden, die sich sowohl auf Gewinner als auch auf Verlierer stutzt. Man teilteinen Algorithmus dieses Typus in zwei Schritte:
11
1. Sample Selection
2. Portfolio Optimierung
Dabei wird im ersten Schritt eine Menge C von Indexen ausgewahlt, deren Preisvektorenahnlich der derzeitigen Situation sind. Danach wird jedem Index in C eine Wahrschein-lichkeit zugeordnet, z.B. Pi = 1
|C| (es sind naturlich auch andere Verteilungen moglich).Daraus wird dann eine Entwicklung fur den Preis geschatzt.Im zweiten Schritt wird dann das nachste Portfolio bestimmt als
bt+1 = arg maxb∈∆m
U(b;C),
wobei U(b;C) eine Nutzenfunktion von b in Abhangigkeit der Menge C reprasentiert. AlsBeispiel sei hier die logarithmische Nutzenfunktion
U(b;C) =∑i∈C
log(bTxi)
genannt. Die Sample Selection Funktion kann ebenfalls individuell gestaltet werden. Essei hier die Kernel-based Sample Selection von Gyorfi [12] angefuhrt:
Ck(xt1, w) =
{w < i < t+ 1 : ‖xtt−w+1 − xi−1
i−w‖ ≤c
l
}.
Die Parameter c und l steuern die Selektion.
3.5 Meta-Learning
Meta-Learning bezeichnet in der Informatik ein Teilgebiet des maschinellen Lernens. Manspricht bei Meta-Daten von ”Daten uber Datenund versucht diese auszunutzen, um dasmaschinelle Lernen zu flexibilisieren und zu optimieren.
Algorithmen in dieser Kategorie bemuhen, ebenso wie einige Follow-the-Winner Strategi-en, eine gewisse Anzahl von Basis Experten, die ein Portfolio auswahlen, und kombiniertdiese Experten zu einem Portfolio. Die Vorteile der Meta-Learning Algorithmen liegen inder breiteren Auswahl an Experten, konnen somit viel breiter angewendet werden, undbietet außerdem eine gewisse Glattheit der finalen Performance.
3.5.1 Aggregating Algorithmen
Fur den Aggregating Algorithm definieren wir eine Lernrate µ, eine messbare Menge Avon Experten, eine Verteilung P0 uber die Experten, eine Verlustfunktion l(x, λ) und dieFunktion λt(θ) die die Entscheidungen des Experten θ zur Zeit t angibt. Die Verteilungwird dann wie folgt berechnet:
Pt+1(A) =
∫A
βl(xt,λt(θ))Pt(dθ),
wobei β = e−µ.
12
3.5.2 Fast Universalization
Als weiterer Algorithmus in dieser Kategorie sei der Fast Universalization Algorithmusgenannt. Er erweitert Cover’s Universal Portfolios von einfachen CPR Experten zu einerviel breiteren Klasse von Strategien. Es wird wieder so vorgegangen, dass das Vermogenauf alle Experten aufgeteilt wird, diese operieren lasst und am Ende wird alles wiedergepoolt.
13
Kapitel 4
Implementierung
Es liegt naturlich nahe, einige Algorithmen auch auf reale Daten auszuprobieren um ihretheoretischen Eigenschaften zu uberprufen und sie weiter studieren zu konnen. Es wurdedazu das Softwarepaket Mathematica des Unternehmens Wolfram Research verwendet. Esbietet einerseits sehr leichten Zugang zu historischen Finanzdaten, auf der anderen Seiteaber auch ein sehr weites Spektrum an Moglichkeiten um diese Daten zu verarbeiten. ImKapitel 7.4 ist die verwendete Implementierung zu finden. Es werden die Closing Preiseverwendet, die dann in relative Preise umgerechnet werden.
4.1 DAX 2012
Jan Apr Jul Oct Jan
1.0
1.2
1.4
1.6
PM
AntiCor
PAMR
AG
EP
UP
BCRP
UCRP
BSS
BAH
Abbildung 4.1: DAX 2012
14
Kategorie Strategie S(n) Rechenzeit
Benchmarks
BCRP 1.76095 107.675UCRP 1.2754 1.111BSS 1.76096 1.098BAH 1.26764 0.984
Pattern-Matching PM 1.27984 43.017
Follow-the-LoserAntiCor 1.49009 12.724PAMR 1.33725 2.078
Follow-the-WinnerAG 1.28818 2.825EP 1.44212 2.501UP 1.29426 2.337
Tabelle 4.1: DAX 2012 Endvermogen und Rechenzeit
Als erstes Beispiel wurden eineAuswahl von Algorithmen auf denDeutschen Aktienindex (DAX)vom 1.1.2012 bis zum 1.1.2013ausprobiert, das Ergebnis ist inAbbildung 4.1 bzw. Tabelle 4.1 er-sichtlich.
Der DAX enthalt die 30 um-satzstarksten und großten Unter-nehmen die an der FrankfurterBorse gelistet sind. Im beobach-teten Zeitraum gab es 261 Han-delstage. 2012 war ein ausgespro-chen gutes Jahr fur die Borsen, al-len voran den DAX.
”Aktien waren das Beste, was man in diesem Jahr haben konnte“,
kommentierte der Aktienstratege Wolfgang Albrecht von einer deutschen Landesbank.Der DAX selbst konnte uber 20 Prozent zulegen.
Die Best Stock Strategy und die Best Constant Rebalanced Portfolio zeigten die bestePerformance. Beide Benchmarks setzten alles auf die Aktie der Continental AG, die indiesem Jahr fast 70 Prozent zulegen konnte. Kurzfristig konnte die AntiCor Strategie zuden zwei Besten aufschließen, den starken Kursanstieg von Continental gegen Ende desJahres konnte sie jedoch nicht einfangen.
Alle Strategien brachten uber 26%, was jedoch in einem so starken Jahr nicht weiterbeachtlich ist.
In Tabelle 4.1 ist zusatzlich die Laufzeit in Sekunden aufgetragen. Vor allem die BCRPStrategie ist sehr langsam, da hier mittels der Mathematica Funktion FindMaximum einOptimierungsproblem gelost werden muss. Es ist jedoch so, dass mehrere dieser Pro-blem beim Pattern-Matching auch gelost werden mussen, hier wurde aber eine andereKonfiguration der Genauigkeit verwendet, um die Rechenzeit zu verkurzen.
15
4.2 DAX 2008
Jan Apr Jul Oct
0.5
1.0
1.5
2.0
PM
AntiCor
PAMR
AG
EP
UP
BCRP
UCRP
BSS
BAH
Abbildung 4.2: DAX 2008
Kategorie Strategie S(n) Rechenzeit
Benchmarks
BCRP 4.067 86.249UCRP 0.664 0.356BSS 3.54 0.389BAH 0.694 0.356
Pattern-Matching PM 0.664 8.618
Follow-the-LoserAntiCor 1.451 8.618PAMR 0.566 0.611
Follow-the-WinnerAG 0.636 0.786EP 0.393 0.627UP 0.872 0.9
Tabelle 4.2: DAX 2008 Endvermogen und Rechenzeit
Um zu sehen, wie sich die Al-gorithmen in einem durchwegsschwierigen Jahr verhalten, wur-de das Jahr 2008 herangezogen.Es zeigt sich dabei in Abbil-dung 4.2 eine stark unterschied-liche Entwicklung der verschiede-nen Ansatze.
BSS und BCRP waren wieder amstarksten, konnen hier jedoch au-ßen vor bleiben, da die Aktie derK+S AG dahintersteckt, in dieim Juni 2008 ein großer Einzelak-tionar einstieg und sie im Sep-tember in den DAX aufgenommenwurde, was zu diesen sehr großen Kursanstiegen fuhrten.
Der DAX selbst verlor in dem schweren Umfeld des Jahres 2008 rund 40%. Hier konntenalle Algorithmen, bis auf EP, mithalten. Der AntiCor Algorithmus tat sich wieder miteiner sehr starken Performance von 45% hervor.
4.3 DOW 2008-2010
16
Kategorie Strategie S(n) Rechenzeit
Benchmarks
BCRP 1.586 692.326UCRP 1.24 60.269BSS 1.562 62.886BAH 1.134 70.738
Pattern-Matching PM 1.252 2603.836
Follow-the-LoserAntiCor 0.565 216.91PAMR 1.26 200.775
Follow-the-WinnerAG 1.303 221.104EP 0.834 227.529UP 1.293 178
Tabelle 4.3: DAX 2008 Endvermogen und Rechenzeit
Es wurde auch ein etwas langererDatensatz betrachtet. Dazu wur-de der Dow Jones IndustrialAverage (DOW) zwischen dem1.1.2008 und dem 1.1.2011 be-trachtet. Er setzt sich aus den 30großten US-Unternehmen zusam-men.
Eine erste Beobachtung zeigt,dass die Rechenzeit bei allen Algo-rithmen sehr stark ansteigt. Zuvorhatten wir es mit 261 Handelsta-gen zu tun, in diesem Beispiel mit703. Die Rechenzeit stieg jedochvor allem bei den bisher sehr schnellen Algorithmen um einen Faktor von etwa 200 an.Am meisten Rechenzeit benotigt nun der Pattern-Matching Algorithmus, was jedoch nichtverwunderlich ist, werden doch in großeren Datensatzen, mehr ahnliche Muster gefunden,was zu mehr Optimierungen fuhrt.
Bei diesem Datensatz erreichte die BCRP Strategie, knapp gefolgt von BSS, die bestePerformance. AntiCor zeigt diesmal, dass es auch Schwachen aufweist und schließt amschlechtesten ab.
2009 2010 2011
0.0
0.5
1.0
1.5PM
AntiCor
PAMR
AG
EP
UP
BCRP
UCRP
BSS
BAH
Abbildung 4.3: DOW 2008-2010
17
Kapitel 5
Capital Growth Theory
Die Capital Growth Theory (CGT), oft auch Kelly Investment oder Growth OptimalPortfolio genannt, kommt aus dem Bereich der Spieltheorie aber kann auch fur unserProblem adaptiert werden.
Das Prinzip der CGT ist die Maximierung des erwarteten logarithmischen Returns furjede Periode basierend auf einer Vorhersage der Werte. Der erste Schritt besteht also inder Vorhersage der Preise xt+1 = (xt+1,1, . . . , xt+1,m). Dazu werden fur alle i = 1, . . . ,mmehrere mogliche Werte von xt+1,i mit ihren Wahrscheinlichkeiten bestimmt. Wir be-zeichnen die Werte als {ri,1, . . . , ri,Ni
} und ihre Wahrscheinlichkeiten als pi,j. Wir habenalso
∏mi=1Ni mogliche Kombinationen, wobei jede die Form
x(k1,...,km)t+1 = [xt+1,1 = r1,k1 ∧ · · · ∧ xt+1,m = rm,km ]
aufweist, diese Kombination treten mit der Wahrscheinlichkeit p(k1,...,km) =∏m
j=1 pj,kj auf.
Mit diesen Vorhersagen konnen wir nun ein optimales Portfolio bestimmen, dass denLog-Return maximiert:
E logS =∑
p(k1,...,km) log(b · x(k1,...,km)
t+1
)=∑[
p(k1,...,km) log(b1r1,k1 + · · ·+ bmrm,km],
wobei diese Summe uber alle moglichen Vorhersagen lauft. Dies ist konkav in b und eineLosung ist mittels konvex Optimierung moglich.
In Tabelle 5.1 sehen wir die vorgestellten Algorithmen mit der zugehorigen Capital Grow-th Form.
18
Algorithmus Capital growth FormBCRP∗ bt+1 = arg maxb∈∆m
1n
∑ni=1 log b · xi
EG bt+1 = arg maxb∈∆mlog b · xt − λR (b, bt)
PAMR bt+1 = arg minb∈∆mb · xt + λR (b, bt)
CWMR bt+1 = arg minb∈∆mP (b · xt) + λR (b, bt)
OLMAR/RMR bt+1 = arg maxb∈∆mb · xt+1 − λR (b, bt)
FTL bt+1 = arg maxb∈∆m
1t
∑ti=1 log b · xi
FTRL bt+1 = arg maxb∈∆m
1t
∑ti=1 log b · xi − λR (b)
Tabelle 5.1: Online Portfolio Selection und Capital Growth Theory
5.1 Zugrundeliegende Handelsprinzipien
Wir konnen zwei verschiedene grundlegende Handelsprinzipien erkennen und unterschei-den. Es gibt Momentum nutzende Strategien und die bereits erwahnte Mittelwertruckkehr.In Tabelle 5.2 sehen wir eine Zuordnung der behandelten Algorithmen.
Viele Algorithmen lassen sich keiner der beiden oben genannten Kategorien zuordnen.Zum Beispiel Aggregating Type Algorithmen konnen beiden Kategorieren zugeordnetwerden, je nachdem welche Strategien die zugrundeliegenden Experten verfolgen. DieExperten konnen ja sowohl CRP verfolgen, also zur Mean Reversion Kategorie gehoren,aber auch einfache Single Stock Strategien verfolgen und somit dem Momentum zugeord-net werden.
Prinzip Algorithmus
MomentumEGFTL
Mean Reversion
CRP/UP/AAAnticorPAMR/CWMROLMARRMR
Tabelle 5.2: Handelsprinzipien
19
Kapitel 6
Zukunftige Entwicklungen undoffene Fragen
In der Vermogensverwaltung ist die Frage der Portfolio Selection naturlich eine wichtige.Die vorgestellten Algorithmen zeigen theoretisch eine sehr gute Performance, in der Um-setzung sind sie jedoch manchmal schwierig. Es werden hier Felder aufgezeigt, in denennoch Verbesserungspotential besteht.
6.1 Vorhersage
Viele der vorgestellten Algorithmen basieren auf vorhergesagten Preisvektoren. Es gibthier einige gute Ansatze trotzdem besteht noch einiges an Verbesserungsbedarf.
• Suchmuster Die Suche nach ahnlichen Preisverlaufen in vorhanden Daten kannerweitert werden. Die heute gebrauchlichen Algorithmen verwenden meist nur einfixe Große fur das Suchfenster. Variation dieser Große konnte einen entscheidendenVorteil bringen. Als zweites Problem ist hier die Verteilung uber den gefundenenMustern zu nennen. Es wird hier meist eine Gleichverteilung herangezogen. Diesekonnte durch andere Verteilungen ersetzt werden um bessere Vorhersagen zu treffen.
• Empirische Regelmaßigkeiten Studien aus dem Bereich der Okonometrie zeigen,dass zum Beispiel gewisse Aktien einen positiv bzw. negativ korrelierten Returnaufweisen. Es ist eine offene Frage wie man diese Eigenschaften in die Vorhersageeinbauen kann.
• Zeitliche Effekte Es ist bekannt, dass es im Finanzmarkt gewisse saisonale An-omalien gibt. Zum Beispiel den Janner Effekt, der besagt, dass der Aktienmarktim Janner starker nach oben zieht als in anderen Monaten. Auch vor handelsfreienUrlaubstagen verhalt sich der Aktienmarkt in einer anderen Weise als ublich. DieseEffekte nutzt bisher kein Algorithmus optimal aus.
• Zusatzliche Informationen Uber den Aktienmarkt existiert eine Fulle an In-formationen, sei es Handelsvolumen, grundlegende Informationen uber das Unter-
20
nehmen oder Expertenmeinungen, aber es gelang bisher keinem Algorithmus diesezusatzlichen Informationen in eine anwendbare Form zu gießen.
6.2 Portfolio Optimierung
Der zweite Schritt nach der Vorhersage beschaftigt sich mit der Portfolio Optimierung.Die Capital Growth Theory lost diesen Schritt sehr gut, ist jedoch oft mit hohem Risikoverbunden.
• Risiko einbeziehen Auch in der Online Portfolio Selection ist das Risiko bishernicht mit eingeflossen. Es gibt zwar erste Ansatze in der Mean Variance Theorydas Risiko durch den Parameter der Varianz einfließen zu lassen, aber es wird nochimmer kein guter Ausgleich zwischen Risiko und Return geschaffen.
•”Optimal f“ Eine spannende Entwicklung in der Finanzverwaltung nennt sich
”optimal f“. Diese Idee wird in den letzten Jahren von Ralph Vince vorangetrieben.
Dabei wird versucht in der Capital Growth Theory das Risiko zu reduzieren. DieseIdee konnte umgelegt werden auf das Online Portfolio Selection Problem.
• Portfolio Bedingungen lockern Heute verwendete Algorithmen nutzen Portfo-lios die sich in der Simplex Domain bewegen, selbstfinanzierend sich und erlaubenkeine Leerverkaufe. Wenn diese Bedingungen gelockert werden, konnten sich besserePortfolios ergeben.
• Transaktionskosten Um die Algorithmen in der Praxis anwenden zu konnen,mussen Transaktionskosten besser in die Algorithmen eingebaut werden.
• Liquiditat Kein Algorithmus beschaftigt sich mit der vorhanden Marktliquiditat.Dies konnte bei der praktischen Anwendung zu erheblichen Problemen fuhren. ZurLosung mussten aufwandige Liquiditatsmodelle entwickelt werden um diese in Al-gorithmen einzubauen.
21
Kapitel 7
Anhang
7.1 Literaturverzeichnis
[1] Cover, T. M. and Thomas, J. A. 1991. Elements of information theory. Wiley-Interscience, New York.
[2] Cover, T. M. 1991. Universal portfolios. Mathematical Finance 1, 1, 1–29.
[3] Helmbold, D. P., Schapire, R. E., Singer, Y., and Warmuth, M. K. 1996.On-line portfolio selection using multiplicative updates. In Proceedings of the Interna-tional Conference on Machine Learning. 243–251.
[4] Ordentlich, E. 1996. Universal investment and universal data compression. Ph.D.thesis, Stanford University.
[5] Gaivoronski, A. A. and Stella, F. 2000. Stochastic nonstationary optimizationfor finding universal portfolios. Annals of Operationas Research 100, 165–188.
[6] Agarwal, A., Hazan, E., Kale, S., and Schapire, R. E. 2006. Algorithms forportfolio management based on the newton method. In Proceedings of InternationalConference on Machine Learning. 9–16.
[7] Vovk, V. G. and Watkins, C. 1998. Universal portfolio selection. In Proceedingsof the Annual Conference on Learning Theory. 12–23.
[8] Singer, Y. 1997. Switching portfolios. International Journal of Neural Systems 8, 4,488–495.
[9] Borodin, A., El-Yaniv, R., and Gogan, V. 2003. Can we learn to beat thebest stock. In Proceedings of the Annual Conference on Neural Information ProcessingSystems.
[10] Li, B., Zhao, P., Hoi, S., and Gopalkrishnan, V. 2012. Pamr: Passive aggres-sive mean reversion strategy for portfolio selection. Machine Learning 87, 2, 221–258.
[11] Li, B., Hoi, S. C., Zhao, P., and Gopalkrishnan, V. 2013. Confidence weigh-ted mean reversion strategy for online portfolio selection. In ACM Transactions on
22
Knowledge Discovery from Data. Vol. 7. 4:1–4:38.
[12] Gyorfi, L., Urban, A., and Vajda, I. 2007. Kernel-based semi-log-optimal em-pirical portfolio selection strategies. International Journal of Theoretical and AppliedFinance 10, 3, 505–516.
7.2 Verwendete Software
Wolfram Mathematica 9.0.0.0LATEXTexStudio
7.3 Verwendete Hardware
Apple MacBook ProProzessor: 2.53 GHz Intel Core 2 DuoArbeitsspeicher: 4GB 1067 MHz DDR3Betriebssystem: Mac OS X Version 10.8.5
7.4 Code
23
SettingIndex = "^DJI";Zeitraum = 882008, 1, 1<, 82011, 1, 1<<
Member = FinancialData@Index, "Members"D
DataRaw = Table@FinancialData@ToString@iD, "Close", ZeitraumD, 8i, Member<D;DataInter = Intersection@Sequence üü DataRaw@@All, All, 1DDD;Data = Table@
Select@DataRaw@@i, AllDD, MemberQ@DataInter, Ò@@1DDD &D,8i, 1, Length@DataRawD<D;
RelChange@Data_D := Table@Table@8Data@@i, j, 1DD, Data@@i, j, 2DD ê Data@@i, j - 1, 2DD<, 8j, 2, Length@Data@@1DDD<
D, 8i, 1, Length@DataD<D
x = RelChange@DataD;
n = Length@x@@1DDDm = Length@xD
S@n_, b_, Data_D := Product@b@@All, tDD.Data@@All, t, 2DD, 8t, 1, n<D
Benchmarks
Buy and Hold Strategy (BAH)
b = Array@1 ê m &, 8m, n<D;
BAH@y_D := b@@All, 1DD.Product@x@@All, i, 2DD, 8i, y<D
BAHTime = AbsoluteTime@D;
BAHOut = Table@8x@@1, i, 1DD, BAH@iD<, 8i, 1, n<
D;
BAHTime = AbsoluteTime@D - BAHTime;
Best Stock Strategy (BSS)
BSS@y_D := Max@Product@x@@All, i, 2DD, 8i, y<DD
BSSTime = AbsoluteTime@D;
BSSOut = Table@8x@@1, i, 1DD, BSS@iD<, 8i, 1, n<
D;
BSSTime = AbsoluteTime@D - BSSTime;
24
Uniform Constant Rebalanced Portfolios (UCRP)
b = Array@1 ê m &, mD;
UCRPTime = AbsoluteTime@D;
UCRPOut = Table@8x@@1, j, 1DD,[email protected]@@All, i, 2DD, 8i, 1, j<D<,
8j, 1, n<D;
UCRPTime = AbsoluteTime@D - UCRPTime;
Best Constant Rebalanced Portfolio (BCRP)
bleer = Array@f, mD;
BCRPTime = AbsoluteTime@D;
MaxB = FindMaximum@8Sum@[email protected]@@All, t, 2DDD, 8t, 1, n<D,Sum@bleer@@iDD, 8i, 1, m<D == 1<,
Table@8f@iD, 0.5, 0, 1<, 8i, 1, m<D, MaxIterations -> 20D
BStar = bleer ê. MaxB@@2DD
BCRPOut = Table@8x@@1, j, 1DD,[email protected]@@All, i, 2DD, 8i, 1, j<D<,
8j, 1, n<D;
BCRPTime = AbsoluteTime@D - BCRPTime;
25
Follow The Winner
Universal Portfolio (UP)
univPortRand@x_, numport_D := H
n = Length@x@@1DDD;m = Length@xD;brand = Sort@RandomReal@1, 8m - 1, numport<DD;bsort = Array@0 &, 8m - 1, numport<D;Do@bsort@@All, iDD = Sort@
brand@@All, iDDD, 8i, 1, numport<D;
b = Append@Differences@bsortD, 1 - Last@bsortDD;b = Prepend@b, bsort@@1DDD;Do@b@@iDD = Join@IdentityMatrix@mD@@iDD, b@@iDDD, 8i, 1, m<D;
numport2 = Dimensions@bD@@2DD;G = [email protected];H = Array@0 &, Dimensions@GDD;Do@H@@iDD = Drop@FoldList@Times, 1, G@@iDDD, 1D, 8i, 1, Dimensions@GD@@1DD<D;
Snorm = H ê Array@Total@HD &, numport2D;bhat = b.Snorm;bhat@@All, 1DD = Array@1 ê m &, mD;Return@8bhat, H, b<D;
L
UPTime = AbsoluteTime@D;
output = univPortRand@x@@All, 1 ;; n, 2DD, 50D;
UPOut = Table@8x@@1, j, 1DD,S@j, output@@1DD, xD<,
8j, 1, n<D;
UPTime = AbsoluteTime@D - UPTime;
Exponential Gradient (EP)
EPTime = AbsoluteTime@D;
b = Array@1 ê m &, 8m, n<D;myh = 1.4;Do@Do@b@@i, t + 1DD =b@@i, tDD * Hmyh * Hx@@i, t, 2DD ê Hb@@All, tDD.x@@All, t, 2DDL - 1L + 1L
, 8t, 1, n - 1<D, 8i, 1, m<D
26
EPOut = Table@8x@@1, j, 1DD,S@j, b, xD<,
8j, 1, n<D;
EPTime = AbsoluteTime@D - EPTime;
Aggregating - type Singer (AG)
b = Array@0 &, 8m, n<D;b@@1, 1DD = 1;l = 1 ê 10;
AGTime = AbsoluteTime@D;
Do@b@@All, t + 1DD = H1 - l - l ê Hm - 1LL b@@All, tDD + l ê Hm - 1L,8t, 1, n - 1<D
AGOut = Table@8x@@1, j, 1DD,S@j, b, xD<,
8j, 1, n<D;
AGTime = AbsoluteTime@D - AGTime;
Follow the Looser
Passive Aggressive Mean Reversion (PAMR)
b = Array@1 ê m &, 8m, n<D;eps = 0.9;
SimplexProjection@v_, z_D := H
p = Length@vD;rho = p;w = Array@0 &, rhoD;u = Sort@v, GreaterD;idx = Ordering@v, All, GreaterD;For@j = 1, j § p, j++,If@u@@jDD - HSum@u@@iDD, 8i, 1, j<D - zL ê j § 0,rho = j - 1;Break@D
DD;theta = HSum@u@@iDD, 8i, 1, rho<D - zL ê rho;Do@w@@idx@@iDDDD = v@@idx@@iDDDD - theta, 8i, 1, rho<D;Return@wDL
PAMRTime = AbsoluteTime@D;
27
Do@xtbar = Array@Mean@x@@All, t, 2DDD &, mD;taut = Max@0,
Hb@@All, tDD.x@@All, t, 2DD - epsL ê Hx@@All, t, 2DD.Hx@@All, t, 2DD - xtbarLLD;b@@All, t + 1DD = b@@All, tDD - taut Hx@@All, t, 2DD - xtbarL;b@@All, t + 1DD = Normalize@b@@All, t + 1DDD,8t, 1, n - 1<D;
Do@b@@All, tDD = SimplexProjection@b@@All, tDD, 1D,8t, 1, n<
D;
PAMROut = Table@8x@@1, j, 1DD,S@j, b, xD<,
8j, 1, n<D;
PAMRTime = AbsoluteTime@D - PAMRTime;
28
Anticor
w = 8;a = Array@1 ê m &, 8m, n<D;b = Array@1 ê m &, 8m, n<D;Do@Claim = Array@0 &, 8m, m<D;Transfer = Array@0 &, 8m, m<D;If@t >= 2 w,LX1 = Table@
Log@x@@All, t - 2 w + 1 + i, 2DDD, 8i, 0, w - 1<D;
LX2 = Table@Log@x@@All, t - w + 1 + i, 2DDD,8i, 0, w - 1<D;
m1 = Mean@LX1D;m2 = Mean@LX2D;s1 = StandardDeviation@LX1D;s2 = StandardDeviation@LX2D;MCor = Correlation@LX1, LX2D;Do@Do@If@m2@@iDD ¥ m2@@jDD && MCor@@i, jDD > 0,Claim@@i, jDD = Claim@@i, jDD + MCor@@i, jDD;If@MCor@@i, iDD < 0, Claim@@i, jDD = Claim@@i, jDD - MCor@@i, iDDD;If@MCor@@j, jDD < 0, Claim@@i, jDD = Claim@@i, jDD - MCor@@j, jDDD;
D, 8i, 1, m<D
, 8j, 1, m<D;Do@Do@If@Total@Claim@@i, AllDDD != 0,Transfer@@i, jDD = Hb@@i, tDD Claim@@i, jDDL ê Total@Claim@@i, AllDDD,Transfer@@i, jDD = 0
D, 8j, 1, m<D
, 8i, 1, m<D;Do@Do@b@@i, t + 1DD = b@@i, t + 1DD - Transfer@@i, jDD + Transfer@@j, iDD, 8i, 1, m<D
, 8j, 1, m<D;D;a@@All, t + 1DD = b@@All, t + 1DD;b@@All, t + 1DD =1 ê Hb@@All, t + 1DD.x@@All, t + 1, 2DDL * Hb@@All, t + 1DD * x@@All, t + 1, 2DDL;
, 8t, 2, n - 1<D
Do@a@@All, tDD = SimplexProjection@a@@All, tDD, 1D,8t, 1, n<
D;
AntiCorOut = Table@8x@@1, j, 1DD,S@j, a, xD<,
8j, 1, n<D;
Pattern - Matching (PM)
29
Pattern - Matching (PM)Window@start_, end_, x_D :=Table@x@@All, i, 2DD, 8i, start, end<D
ListOfWindows@t_, w_, x_D :=Table@Window@i - w, i - 1, xD, 8i, w + 1, t<
DH*Struktur von AllWindows:
test@@Fenster, Tag des Fensters, Aktie, 1 Datum 2 PreisDD*L
Ck@t_, w_, c_, l_, x_D := H
L = ListOfWindows@t, w, xD;F = Window@t - w + 1, t, xD;Return@Select@L, Norm@F - ÒD § c ê l &DD
L
b = Array@1 ê m &, 8m, n<D;bleer = Array@f, mD;
w = 10;Do@Similiar = Ck@t, w, 1, 8, xD;If@Length@SimiliarD ã 0, b@@All, tDD = Array@1 ê m &, mD,b@@All, tDD = Table@
FindMaximum@8Sum@[email protected]@@t, 1DDD, 8t, 1, Length@SimiliarD<D,Sum@bleer@@iDD, 8i, 1, m<D == 1<,
Table@8f@iD, 0.5, 0, 1<, 8i, 1, m<D, MaxIterations Ø 10D@@2, i, 2DD, 8i, 1, m<D
D; iter = iter + 1;, 8t, w, n - w<D
PMOut = Table@8x@@1, j, 1DD,S@j, b, xD<,
8j, 1, n<D;
30