eine Aktie Gegeben {Preis variieren Preis} Sequenz wie folgt aus:Wie baut man ein Backtesting-Programm mit Mathematica auf?
lstPrice={{4.66,-0.05},{4.69,0.03},{4.78,0.09},{4.78,0.},{4.81,0.03},{4.85,0.04},{4.78,-0.07},{5.1,0.32},{5.29,0.19},{5.19,-0.1},{5.28,0.09},{5.22,-0.06},{5.18,-0.04},{5.07,-0.11},{5.08,0.01},{5.09,0.01},{5.07,-0.02},{5.1,0.03},{5.05,-0.05},{5.05,0.},{5.13,0.08},{5.1,-0.03},{5.09,-0.01},{5.21,0.12},{5.24,0.03},{5.26,0.02},{5.35,0.09},{5.19,-0.16},{5.24,0.05},{5.09,-0.15},{5.18,0.09},{5.19,0.01},{5.18,-0.01},{5.13,-0.05},{5.15,0.02},{5.06,-0.09},{5.09,0.03},{5.08,-0.01},{5.01,-0.07},{4.99,-0.02},{4.99,0.},{4.94,-0.05},{4.98,0.04},{4.92,-0.06},{4.87,-0.05},{4.91,0.04},{4.91,0.},{4.92,0.01},{4.95,0.03},{4.9,-0.05},{4.93,0.03},{4.99,0.06},{5.04,0.05},{4.98,-0.06},{5.17,0.19},{5.07,-0.1},{5.08,0.01},{5.14,0.06},{5.17,0.03},{5.07,-0.1}}
und max Kapitalniveau auf $ 500000, max Positionsebene bis 100000, Wenn Preis variieren ist negativ, kaufen p1 Prozent der Hauptstadt Ebene, wenn variieren Preis postive, verkaufen p2 Prozent der Positionsebene. um diese einfache Strategie zu überprüfen, ob bis zum Ende erfolgreich. Wie baut man ein Mathematica Backtesting Programm auf, um die Idee zu testen, Functional Programming am besten, oder wie Balgblock. Thansk!
initCapital=500000;(*min to 0 *)
initPosition=0;(*max to 100000*)
p1=0.3;
p2=0.2;
BacktestDo[list_?ListQ]:=If[list[[2]]>0,Buy[p1],Sell[p2]](*Buy and Sell not implemented*)
BacktestDo/@listPrice
seine nicht klar, was Sie fragen, aber ich schlage vor, Sie schauen auf 'FoldList' – agentp
Dank! 'MapThread' könnte auch tun. – Jerry
Ich habe einen neueren Backtesting-Block geschrieben, der sich auf @Chris Degnens Antwort bezieht. Sehen Sie mehr auf github. https://github.com/liuhuashan/StocktaSolva. – Jerry