博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vnpy学习_02各文件功能梳理
阅读量:4294 次
发布时间:2019-05-27

本文共 1953 字,大约阅读时间需要 6 分钟。

先推荐一片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数据,跑回测,显示结果
 

你可能感兴趣的文章
Socket深度探究4PHP(三)
查看>>
可继承扩展的单例实现
查看>>
VS调试技巧
查看>>
C++线程池实现
查看>>
std::function与回调类
查看>>
类型擦除
查看>>
QML动画按钮实现
查看>>
带授权的友元访问限制
查看>>
模板中void类型强转
查看>>
angular-froala-wysiwyg编辑器插件3.0版本中工具栏toolbarButtons选项不起作用
查看>>
nz-select选项无法默认显示
查看>>
Angular页面调用APP函数方法
查看>>
logstash配置pipelines.yml后报错
查看>>
opencv环境配置
查看>>
C++读写二进制文件
查看>>
2015-7-7 小记
查看>>
meshlab编译问题小结
查看>>
CMake Error:Failed to find "glu32" in "" with CMAKE_CXX_LIBRARY_ARCHITECTURE "".
查看>>
异或的妙用
查看>>
libsvm3.2.1 - SVM多分类简单实现
查看>>