vnpy怎麼建立策略並回測 vnpy筆記 回測引擎

2021-10-11 02:48:33 字數 1267 閱讀 5123

回測是量化交易不可缺少的組成部分,本文是 vnpy 回測引擎原理筆記

vnpy 官方提供了兩個 jupyter notebook 作為 demo,**檔案在源**中的 examples/cta_backtesting 目錄:

backtesting.ipynb:

建立回測:

engine = backtestingengine()

engine.set_parameters(...) # 回測引數

engine.add_strategy(atrrsistrategy, {}) # 新增策略

執行回測

engine.load_data() # 載入資料

engine.run_backtesting() # 跑回測, 得到成交記錄

df = engine.calculate_result() # 從成交記錄計算盯市盈虧

engine.calculate_statistics() # 計算統計指標

engine.show_chart() # 顯示結果

set_parameters: 設定並儲存引數,包括要回測的標的,回測時間等

add_strategy: 新增策略類(策略類需是ctatemplate的子類),例項化策略物件

load_data: 載入歷史資料, 儲存在self.history_data;這裡會呼叫load_bar_data或者load_tick_data從資料庫讀取資料

run_backtesting: 跑回測,本身支援 tick / k 線;但是如果使用圖形介面,則只支援 k 線。執行流程:

calculate_result: 把交易聚合成逐日盈虧

calculate_statistics: 基於逐日盈虧計算統計指標,比較多地使用了 pandas

show_chart: 用matplotlib視覺化指標

new_bar/new_tick:

cross_limit_order(k 線)

cross_stop_order(k 線)

mysql怎麼建立表 mysql怎麼建立乙個表

1.登陸成功後,首先進入某乙個資料庫 不是指資料庫伺服器 use t1 t1是資料庫名 如圖所示 2.在此資料庫中建立資料庫表 2.1 先建立表結構 可以理解為表的列名,也就是欄位名 在實際生產過程中,表結構是需要經過精心設計的。通用的語法格式為 1 create table table name ...

python按鈕怎麼建立 python怎麼建立變數

變數 variable 是學習python初始時,就會接觸到的乙個新的知識點,也是乙個需要熟知的概念。python是一種動態型別語言,在賦值的執行中可以繫結不同型別的值,這個過程叫做變數賦值操作,賦值同時確定了變數型別。在python學習過程中會用到許多資料,那為了方便操作,需要把這些資料分別用乙個...

python列表怎麼建立 python怎麼建立列表

序列是python中最基本的資料結構。序列中的每個元素都分配乙個數字 它的位置,或索引,第乙個索引是0,第二個索引是1,依此類推。python有6個序列的內建型別,但最常見的是列表和元組。序列都可以進行的操作包括索引,切片,加,乘,檢查成員。此外,python已經內建確定序列的長度以及確定最大和最小...