• Stars
    star
    109
  • Rank 319,077 (Top 7 %)
  • Language
    JavaScript
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

量化:使用富途OpenApi,Python开启ETF量化交易之路

使用富途open api,python开启量化之路

1. 官方文档 & 起步注意事项

2. 获取股票历史K线数据

  • 代码如下,使用futu open api: request_history_kline可以获取你想要的个股K线数据
  • futu api返回的数据结构是pandas,需要对应的py库做处理(我是转化成json,降低了学习成本)
  • 返回的数据不包括 5、10、20日均线,需要自己计算
from futu import *
import pandas as pd

quote_ctx = OpenQuoteContext(host='127.0.0.1', port=11111)

print(data)

ret, data2, page_req_key = quote_ctx.request_history_kline('SH.510050', start='2005-09-30', end='2019-05-05',max_count=1000,page_req_key=page_req_key) #请求开头50个数据
print(data2)

3. 数据处理,从pandas到json

  • api返回的日线数据limit是1000,所以需要一些分页操作,page_req_key,是上一次查询返回的页码标识再下一次查询中带上就好,最后把几次结果合并一下(代码写的非常粗暴,for循环都没有,因为我是从文档中copy过来的)
ret, data, page_req_key = quote_ctx.request_history_kline('SH.510050', start='2005-09-30', end='2019-05-05',max_count=1000)
print(data)

ret, data2, page_req_key = quote_ctx.request_history_kline('SH.510050', start='2005-09-30', end='2019-05-05',max_count=1000,page_req_key=page_req_key) 
print(data2)

ret, data3, page_req_key = quote_ctx.request_history_kline('SH.510050', start='2005-09-30', end='2019-05-05',max_count=1000,page_req_key=page_req_key) 
print(data3)

result = pd.concat([data, data2, data3])
  • 拿到数据之后,转化为json格式,然后写入json文件
  • 由于本人更熟悉javascript & json操作,所以之后的逻辑策略用js处理;对于熟悉python的同学这里应该更加得心应手。
file = open('50ETF.json', 'w')
file.write(str(result.to_json(orient='records')))
file.close()

4. 策略-定投

配合代码&下图可以看出,从2013-05-01到2019-04-30,每20个交易日定投沪深300,10000元最终可盈利130.488%

5. 策略-定投止盈(待续...)

注意:不可在盈利后彻底清仓,会损失很多

6. 想法

在做量化的时候,会发现任何策略都不是万能的,

  • 上升周期做止盈比定投收益低
  • 振荡周期做止盈比定投收益高
  • 下降周期一般操作都是亏损 而主观判断市场周期,更多的是政策面、消息面的判断...

More Repositories

1

puppeteer-deep

Puppeteer, Headless Chrome;爬取《es6标准入门》、自动推文到掘金、站点性能分析;高级爬虫、自动化UI测试、性能分析;
JavaScript
1,172
star
2

hawk-eye

前端监控:定时监控站点渲染情况,记录异常并保存截图: puppeteer, thinkjs,mongodb,headless-chrome,vuejs
JavaScript
96
star
3

coconut

expressjs,博客网站,websocket聊天室,mongodb
JavaScript
24
star
4

mono-seeds

使用monorepo实践&管理各种前端技术seeds项目:vue、midway、qiankun、lerna、reactnative&expo、electron、微信小程序、抖音小程序、tensorflow&ml5&ai
JavaScript
22
star
5

bitcoin-price

Chrome Extension: 快速查看重要投资信息, 比特币、美元、黄金、
JavaScript
19
star
6

little-finger

自动部署脚本:nodejs,express server,小型自动发布系统,适合个人开发者使用
JavaScript
18
star
7

eva

信息聚合工具:使用Puppeteer+Tensorflow+Egg+React每日从各大信息渠道,收集用户定制的目标内容,帮助用户高效学习、节省生命
JavaScript
13
star
8

js-tower

前端博客:原站点 zhentaoo.com不在维护了,原有的博客内容迁移至issue,方便大家交流
CSS
11
star
9

CacthFish

CocosJS制作的第一个游戏:捕鱼小游戏,日后完善
JavaScript
6
star
10

horadric

脚手架工具:node文件操作,可以新建vuejs、reactjs 项目seed,赫拉迪克(项目命名自暗黑史诗级道具)
JavaScript
5
star
11

VideoChat

php yii框架,javascript webrtc库 ,视频通话系统(14-15年毕业设计)
JavaScript
4
star
12

ChatRoom

node js websocekt聊天室 已整合入Coconut中,实现私聊和群聊
JavaScript
3
star
13

esm-async-load-example

vue3 vite esm 组件动态加载
Vue
1
star
14

tma-demo

JavaScript
1
star