股票自动交易系统开发:(一)获取行情数据

获取行情数据有几种方案:

这种需要同时开启第三方软件,可能需要逆向甚至破解,技术难度较大,而且接口可能随时变化,首先排除。

这种同样需要第三方的支持,并且接口一般都是收费的,自动交易本身可能就会赔钱,怎么可能再支出这笔费用,不考虑。

这种是无疑是最适合的,很多门户网站都有网页行情,无需付费。相对来说接口也比较稳定,而且即便有改动,都是文本解析的,技术实现难度很低,且很容易调整。

这里我用的是新浪的,接口如下:

http://money.finance.sina.com.cn/quotes_service/api/json_v2.php/CN_MarketData.getKLineData?symbol={0}&scale=15&ma=no&datalen=16

symbol是股票代码;scale是周期,15代表15分钟;datalen是多少个。返回结果都是Json格式的:

[{"day":"2020-07-03 09:45:00","open":"13.570","high":"14.070","low":"13.560","close":"13.890","volume":"100555540"},{"day":"2020-07-03 10:00:00","open":"13.900","high":"14.220","low":"13.880","close":"14.210","volume":"66057347"},{"day":"2020-07-03 10:15:00","open":"14.200","high":"14.220","low":"14.070","close":"14.130","volume":"34808742"},{"day":"2020-07-03 10:30:00","open":"14.140","high":"14.320","low":"14.100","close":"14.140","volume":"35243118"},{"day":"2020-07-03 10:45:00","open":"14.120","high":"14.140","low":"14.050","close":"14.070","volume":"14912054"},{"day":"2020-07-03 11:00:00","open":"14.080","high":"14.080","low":"13.830","close":"13.860","volume":"21248847"},{"day":"2020-07-03 11:15:00","open":"13.870","high":"14.000","low":"13.860","close":"13.930","volume":"8957392"},{"day":"2020-07-03 11:30:00","open":"13.930","high":"13.950","low":"13.820","close":"13.940","volume":"10230985"},{"day":"2020-07-03 13:15:00","open":"13.940","high":"13.950","low":"13.880","close":"13.890","volume":"6080492"},{"day":"2020-07-03 13:30:00","open":"13.880","high":"13.970","low":"13.880","close":"13.960","volume":"4992015"},{"day":"2020-07-03 13:45:00","open":"13.960","high":"14.000","low":"13.940","close":"13.970","volume":"6819269"},{"day":"2020-07-03 14:00:00","open":"13.970","high":"13.990","low":"13.950","close":"13.960","volume":"4390327"},{"day":"2020-07-03 14:15:00","open":"13.960","high":"13.960","low":"13.860","close":"13.940","volume":"6899241"},{"day":"2020-07-03 14:30:00","open":"13.940","high":"13.990","low":"13.930","close":"13.980","volume":"5799512"},{"day":"2020-07-03 14:45:00","open":"13.990","high":"14.110","low":"13.960","close":"14.110","volume":"14139728"},{"day":"2020-07-03 15:00:00","open":"14.100","high":"14.250","low":"14.070","close":"14.250","volume":"34587954"}]

K线数据基本都有了,后台开个线程,定时请求数据,然后录入到SQLserver数据库。

为什么选择SQLServer数据库,而不是SQLLite等轻量级的呢?后面数据量可能会很大。首先有几千只股票,自动交易实战前肯定要经过算法模拟,如果做超短线模拟测试可能会需要分钟级数据,这种计算量可能会达到百万级,如果用桌面数据库,一是性能达不到,二是无法实现分布式计算,三是文件管理也麻烦。

具体实现逻辑就比较简单了,上个阶段性的结果吧。

股票自动交易系统开发:(一)获取行情数据

感兴趣的朋友 关注 + 转发。

展开阅读全文

页面更新:2024-04-16

标签:行情   股票   数据   可能会   级数   分布式   阶段性   线程   新浪   算法   交易系统   难度   接口   数据库   网页   技术   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top