vnpy学习_02各文件功能梳理

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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值