LOADING
593 字
3 分钟
vnpy学习03_各文件功能梳理

先推荐一片vnpy专栏教程:
钱塘小甲子:https://blog.csdn.net/qtlyx/column/info/30705
他写的也比较不错
他基本是按照”先深遍历”的思路阅读的,每个代码块追究比较细致,

我个人喜欢先易后难,否则代码太多,看起来容易灰心,先把容易的清理干净,在追溯代码。

vnpy文件夹结构

├── api #很多dll文件和so文件,结合之前wiki中的说明应该是 各个“外部对接接口”的实现了。飞鼠,数字货币等,可以先不看
│ ├── bigone
│ ├── binance
│ 。。。。。。。
│ ├── xspeed
│ └── xtp
├── data # reademe提示:shcifco:上海中期接口,可先不看
│ ├── \_\_init\_\_.py
│ ├── README.md
│ └── shcifco
├── event
│ ├── eventEngine.py #TODO 重点学习
│ ├── eventType.py #定义变量EVENT_TIMER,以及test()函数
│ └── \_\_init\_\_.py
├── \_\_init\_\_.py
├── \_\_init\_\_.pyc
├── pricing #期权相关,可不看
│ ├── black.py #Black76期权定价
│ ├── bsCython
│ ├── bsCython.pyd
│ ├── bs.py #bs期权定价公式
│ ├── crrCython
│ ├── crrCython.pyd
│ ├── crr.py #期权工具类,二叉树计算价格,计算dot等
│ ├── \_\_init\_\_.py
│ └── README.md
├── rpc #rpc相关工具类,核心无关
│ ├── \_\_init\_\_.py
│ ├── README.md
│ ├── testClient.py
│ ├── testServer.py
│ └── vnrpc.py
└── trader
├── app #TODO 重点学习
├── gateway
├── ico #图标,忽略
├── \_\_init\_\_.py
├── language #中英文的静态变量,显示用
├── uiBasicWidget.py
├── uiMainWindow.py
├── uiQt.py
#以上3个是显示或界面相关的
├── vtConstant.py #和vtText,读入constant.py中变量,到d中
├── vtEngine.py #主引导,TODO 重点学习
├── vtEvent.py #EVENT\_TICK,EVENT\_TIMER,EVENT_LOG等 EVENT开头的类枚举固定标识串的赋值
├── vtFunction.py #工具类,方法函数,getJsonPath,loadJsonSetting
├── vtGateway.py #TODO 重点学习
├── vtGlobal.py #读取配置文件VT_setting.json
├── vtObject.py #定义实体类,VtBaseData,VtTickData,VtBarData,VtTradeData等
├── VT_setting.json #字体,mongo密码等配置
├── vtText.py #读入text.py的配置文件,存到变量d中
└── vtUtility.py #工具类,class BarGenerator方法updateBar,updateTick。
class ArrayManager方法updateBar,up,down,cci,rsi等技术指标的计算

第一步:先把容易看的代码消灭了,如上

第二步:需要细看的其实就4个文件(夹)

trader /vtEngine.py
/vtGateway.py
/app/
event /eventEngine.py

第三步:先从例子入手:
TurtleStrategy下的run的ipy

from turtleEngine import BacktestingEngine
engine = BacktestingEngine()
engine.setPeriod(datetime(2014, 1, 1), datetime(2018, 12, 30))
engine.initPortfolio('setting.csv', 10000000)
engine.loadData()
engine.runBacktesting()
engine.showResult()

代码比较容易理解
执行流程:
初始变量,load数据,跑回测,显示结果

vnpy学习03_各文件功能梳理
/posts/quant/e559d0d7/
作者
思想的巨人
发布于
2019-03-02
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时