Files
FX-ML-Trading-Engine/Q Research/scripts/__pycache__/backtest_example.cpython-312.pyc
T

46 lines
8.1 KiB
Plaintext
Raw Normal View History

2025-11-14 23:16:51 +00:00
Ë
Û° i–ã ódZddlZddlZejj ejj ejj ejj
e««««ddlZddl Z
ddlZddl m Z m Z ddl
ZddlmZddlZddlmZddlmZeee«j-«j.d«Zeejvrejj3de«ddlmZddlmZdd lmZdd
l m!Z!d efd Z"d
ejFdejFde$fdZ%e&dk(r[ddlZe'ejP«dk7re)d«ejTd«ejPdZ+ejXe"e+««yy)u0
示例回测脚本
测试RSIå‡å€¼å›žå½’ç­–ç•¥
éN)ÚdatetimeÚ timedelta)ÚPath)Úloggeré)Ú
OANDADataFeed)ÚRSIMeanReversionStrategy)ÚSimpleRiskManager)ÚBacktestÚ config_pathc
ƒóZKt|d«5}tj|«}ddd«jdi«}|jdd«}|jdd«}|jdd «}|jd
d «}|jd d
«}|jdi«} | jdd«}
| jdd«} t j
| dd«} t j
| dd«}
|jdi«}|jdd«}|jdd«}|jdd«}ddl}ddlm}|«t|d|jd «|jd!«|d"jd#d$«¬%«}|jd&d'«j«}|d'k(rt|dd(||||¬)«}nu|d*k(r6dd+l
m}|jd,d-«}|jd.d/«}||||¬0«}n:|d1k(r#dd2lm}|jd3d4«}|||¬5«}nt|dd(||||¬)«}t#|||¬6«}t%||||
| ¬7«}t'j(d8|d9| d:|
«|j+| |
d¬;«ƒd{}t-d<«t j.«j1d=«z }|j3d>d>¬?«|j5|d@z «t7j8|j:«} | j<s| j5|dAz dB¬C«t?|| «}!t|dDz dE«5}tj@|!|«ddd«t'j(dF|«|| |!fS#1swYŒmxYw7Œÿ#1swYŒ5xYw­w)Gu è¿è¡Œå›žæµ‹ÚrNÚstrategyÚ
instrumentÚEUR_USDÚ
rsi_periodéÚ
overboughtéFÚoversoldéÚ
stop_loss_atrgbacktestÚinitial_capitali †Ú
commissiong-Cëâ6
start_datez%Y-%m-%dÚend_dateÚriskÚmax_position_sizegð?Úmax_portfolio_riskg{®Gáz”?Ú max_drawdowngš™™™™™¹?r)Ú load_dotenvÚH1ÚOANDA_ACCOUNT_IDÚ OANDA_TOKENÚoandaÚ environmentÚpractice)rÚ timeframeÚ
account_idÚ access_tokenr'ÚtypeÚrsir)rÚ
position_sizeÚ
max_positionsrrrrÚma)ÚMACrossoverStrategyÚ fast_periodé2Ú slow_periodéÈ)rr2r4Úmomentum)ÚMomentumStrategyÚlookbacké)rr8)rr r!)rÚ data_feedÚ risk_managerrru
开始回测 u 从 u 到 )ÚstartÚendÚ granularityÚresultsz
%Y%m%d_%H%M%ST)ÚparentsÚexist_okzequity_curve.csvz
trades.csvF)Úindexzperformance.ymlÚwu回测完æˆï¼Œç»“æžœä¿å­˜åœ¨ )!ÚopenÚyamlÚ safe_loadÚgetrÚstrptimeÚosÚdotenvr"rÚgetenvÚlowerr Úcore.strategy.ma_crossoverr1Úcore.strategy.momentumr7r
r rÚinfoÚrunrÚnowÚstrftimeÚmkdirÚto_csvÚpdÚ DataFrameÚtradesÚemptyÚcalculate_performance_metricsÚdump)"r ÚconfigÚstrategy_paramsrrrrrÚbacktest_paramsrrrrÚ risk_paramsrr r!rIr"r:Ú
strategy_typerr1ÚfastÚslowr7r8r;rr?Ú
output_dirÚ trades_dfÚ performances" úscripts/backtest_example.pyÚ run_backtestrgèø€ô
ˆk˜3Ô   Ó"ˆ÷
ð—j‘j ¨RÓ0€OØ ×$ \°9Ó=€JØ ×$ \°2Ó6€JØ ×$ \°2Ó6€JØ×" :¨rÓ2€HØ#׸Ó=€Mð—j¨RÓ0€OØ)Ð*;¸D€OØ ×$ \°6Ó:€Jô×" ?°<Ñ#@À*ÓM€JÜ× Ñ  °Ñ!<¸I€Hð—**˜V RÓ(€KØÐ(;¸SÓØÐ)=¸Ø—?‘? >°4Ó8€LóÝ„MôØØØ2—9‘9ÐR—YY˜˜7O×
°zÓ €Ið$×°Ó6×>€MؘÒÜØØØ
ð
˜Ý×" =°"Ó5ˆØ×" =°#Ó6ˆÙ&°*È$Ð\`Ôa‰Ø ˜*Ò $Ý"×& z°2Ó6ˆÙ#¨zÀHÔM‰ôØØØ
ˆô€LôØØØô €Hô ‡KK- 
˜|¨5°° ¸EÀ(ÀЗL‘LØØ Øð÷€Gôi“¤8§<¡<£>×#:Ñ#:¸?Ó#KÑK€JØ×јT¨DÐÔ ‡NN:Ð 2Ñ ˜XŸ_™_Ó-€IØ ?Š?Ø×ј lÑ2¸%ÐÔ¸ÓC€KÜ
ˆ,¨cÔ 2°aÜ +˜
 ‡K1°*°Ð I˜ *÷i