Ptrade连接mysql数据库| 白嫖免费mysql服务器
发布网友
发布时间:2024-09-09 15:43
我来回答
共1个回答
热心网友
时间:2024-12-12 23:46
虽然ptrade不能安装第三方库,意味着你无法使用pip install 随意安装想要的库。但是ptrade内置了很多第三方库。
API文档:
随便截取部分图
其实内置的很多库足以应付大部分量化场景的了。本身就支持pandas,numpy数据分析库,股票指标计算库TA-Lib,机器学习必备库sklearn,神经网络的TensorFlow,第三方股票数据获库tushare等等。
如果内置的数据不满足,还可以接入自己的数据。比如mysql,excel等等。
Excel数据需要自己上传,或者有开发能力的,自己写一个API接口给ptrade访问也行。不过最方便的还是使用SQL数据库。
注意,这里有一个前提,需要你的券商解除Ptrade访问**。(这里的*是指在ptrade里面可以连接外部数据,比如可以访问百度,腾讯官网),这样你的Ptrade就可以直接联通你的MySQL数据库了。
经过笔者对市面上的大部分券商的Ptrade测试,目前只有国盛证券的Ptrade可以访问外部网络。
如果使用的是其他券商的Ptrade,那么本文就不适用了哦。(广告:需要开通的读者,可以在公众号菜单找到开通联系人,费率万0.85,免五)白嫖mysql数据库
首先你需要有一台Mysql的服务器。如果你有云服务器的话,可以docker pull快速部署一台。
如果没有云服务器也没关系,笔者提供一个白嫖渠道。
免费的,填个邮箱就可以申请的了。默认有500MB的空间。
注册完成后会给你一个mysql的登录账号
有了数据库就可以把数据库作为中间存储设备,让ptrade读取里面的数据,也可以把ptrade里面的数据写入到mysql。
比如ptrade缺少可转债的基础数据,那么就可以做一张可转债的表,让ptrade开盘前读取,然后根据此表的数据选股选债。
字段要啥有啥,取决于你入库的时候写入的数据。
比如Ptrade写入数据到mysql,可以把当天的tick数据,分笔数据保存到mysql,这样以后回测的时候就不需要到处找tick数据了。
先创建一个新的策略
策略命名随意就可。
整体框架是这样子的:其他没用的先不加入。
然后就往里面添加东西。主要就是data_sync_up这个函数里。记得要一个context形参,不用也要加。
先写一个mysql的连接函数,获取mysql的connection。用户名密码就是上面你注册后拿到的账号和密码。
然后就可以建表,表名随意,这里我用的 ptrade_Tick_{当前日期} 的格式
接着就可以从ptrade的get_snapshot,get_gear_price 获取行情数据。这里我就用模拟数据替代。比如拿到14:23:01到14:23:05的tick数据。
然后用navicat或者mysql workbench这些工具链接上数据库,就可以看到数据就在里面啦。
上面的就是完整代码了。
当然用dataframe的to_sql 也可以,更方便,条条大道通罗马。
如果不想复制粘贴,可以关注公众号后,后台回复:ptrade-mysql
获取本文代码的python文件版本
【 有技术问题可以文章留言会尽量解答。后台留言过了48小时公众号不给回复的了】