Python量化交易入门

形成自己的交易体系,打造属于自己的交易系统。不问得失,但求究竟。

量化交易研究,可以从backtrader、vnpy和qstock这三个框架起步,其它框架大同小异。实盘则可以选择QMT或PTrade。

在这里插入图片描述

回测基本编程模型:

df = get_data('股票代码', start_date, end_date, ...) ## 获得行情历史数据
data = df.copy()
strategy = MyStrategy(data, 策略参数, ...) ## 构造策略
start_backtest(strategy) ## 运行回测
## 显示回测结果

引子

发家致富不能指望靠炒股,但股市不可不研究,研究多一点总比盲目买卖为好。
人工盯盘太累人,有个机器人帮你炒股岂不更好?

股价变动难以预测,但绝不是随机的和杂乱无章的,它是有规律的。只是影响股价的因子比较多,常人最多只能了解十之六七。十之六七已足矣定胜负了,常胜固不可有,但提高胜率是可以的。所以我们做量化就是不断逼近真理。

沪深市场共上市7146只股票,其中深市有4617只,沪市有2529只。从行业分布来看,深市以商业、信息科技行业的股票为主,沪市的行业主要集中于工业和金融服务领域。

美股一共11621只股票,主要是三家交易所:纽约证券交易所(NYSE)(大约3459家),美国证券交易所(大约1061家),纳斯达克证券市场(Nasdaq)(大约3159家)。美股实现T+0交易,最小买卖单位为1股,貌似更适合做量化。

炒股软件主要分为行情和交易两大类。排名前列的炒股软件:经传多赢、同花顺、新浪财经、东方财富、大智慧、指南针。

量化交易不等同于程序化交易,量化的核心是策略。自动交易只是量化交易的一小部分。
要做量化交易,主要解决三大问题:

  1. 获得行情数据
  2. 编写策略
  3. 自动交易

常用库:matplotlib、numpy、pandas、Ta-Lib

从哪里获得行情数据?

  • 同花顺。大名鼎鼎的易峥创办的核心软件,问财。
  • 网站。网易财经, 还有雪球,东方财富等很多证券网站都能拿到数据,但这些不是API接口,需要用爬虫
  • 券商。但券商也不会直接提供API。例如富途牛牛API。在国金证券开个户,轻松获取行情数据。
  • 华泰的金融数据下载器, https://findata-insight.htsc.com:9151/help/terminal/download/, 需要先申请一个金融数据下载器账号,登陆后金融数据下载器提供了多类数据的查询和下载。分为日度历史行情数据和股票数据集两大类数据。
  • 数据公司。如通达信股票接口,可以做股票交易API接口,对接各大卷商。还有Tushare大数据,Tushare不是普通炒股者用的软件,而是为那些有兴趣做股票期货数据分析的人提供pandas矩阵数据的工具
  • 聚宽
    • JQData是聚宽数据团队专门为金融机构、学术团体和量化研究者们提供的本地量化金融数据服务。使用JQData,可快速查看和计算金融数据,无障碍解决本地、Web、金融终端调用数据的需求。历经5年沉淀,40万宽客及数3500家知名量化机构投研交易验证。使用上,JQData适用Windows、Mac、Linux多种操作系统,支持python2、python3和以及任意编程语言。数据通过简洁的API方式提供,pip即可直接安装使用,挣脱使用束缚,实现更多场景。只需三行代码,即可随取随用~
    • 查看JQData使用文档
  • Github。好心人下载好的数据,网盘上获取。数据库下载地址如下:
    • 股票基础信息,链接:https://pan.baidu.com/s/1qZJIy8s,61e3
    • 2000年到2018年历史Json源数据,链接:https://pan.baidu.com/s/1jIY70bG,cmpw
    • 2000年到2018年日历史数据Sqlite文件,链接:https://pan.baidu.com/s/1eTxcjdC,ujbn
  • 三个常用的库:akshare、baostock以及tushare库
  • 聚宽的JQdata免费用,所有的数据都可以用,但是只能半年,半年后续费,3000元+/年,小贵,不过可以获得他的因子库,未来考虑吧
  • tushare也是免费,但是只限于少量api接口,大部分有用的必须充值会员,200元档基本够用,500元就是vip无限制了,1000元可以入高级群,呵呵
  • 不考虑在线服务了,太难用。尝试了优矿,很难用;估计米筐、聚宽的在线版也好不了哪去;且,这几家都不再搞个人宽客方向了,都给机构服务去了;米筐连社区都关了。

常用库

TA-Lib技术分析库

TA-Lib(Technical Analysis Library, 即技术分析库)是Python金融量化的高级库,涵盖了150多种股票、期货交易软件中常用的技术分析指标,如MACD、RSI、KDJ、动量指标、布林带等。

pip install ta-lib

在这里插入图片描述
我们完全可以只依赖ta-lib库和券商的订单API就能完成基本的量化系统。

ta-lib常用函数:
根据pandas数据计算各个指标:

import pandas as pd
import talib
import numpy as np

## SMA
talib.SMA(df['close'], timeperiod=10) 
df['ma10']=talib.MA(df['close'], timeperiod=10, matype=0) # matype: 0代表SMA,1代表EMA,2代表WMA
## MACD
dif, dea, bar = talib.MACD(df['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)

## KDJ,通过该函数计算出K、D的值,然后通过K、D计算出J值,具体的计算方式如下:
df['K'], df['D'] = talib.STOCH(df['high'].values, df['low'].values, df['close'].values, fastk_period=9, slowk_period=3, slowk_matype=0, slowd_period=3, slowd_matype=0)
df['K'].fillna(0,inplace=True)
df['D'].fillna(0,inplace
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北极象

如果觉得对您有帮助,鼓励一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值