当前位置:   article > 正文

Python量化交易入门_股票量化实践 网盘

股票量化实践 网盘

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

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

backtrader、vnpy、vectorbt、hikyuu、wondertrader、quantconnect

在这里插入图片描述

回测基本编程模型:

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

引子

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

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

沪深市场共上市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、动量指标、布林带等。

  • 趋势分析: 通过计算趋势指标,如移动平均线、布林带、MACD等,可以帮助交易者识别市场趋势,判断价格走势。
  • 震荡分析: 通过计算震荡指标,如相对强弱指标(RSI)、随机震荡指标(Stochastic Oscillator)等,可以帮助交易者识别市场超买超卖区域,寻找交易机会。
  • 成交量分析: 通过计算成交量指标,如成交量、成交量加权平均价格(VWAP)等,可以帮助交易者了解市场参与度,判断市场情绪。
  • 动量分析: 通过计算动量指标,如动量指标(Momentum)、相对强弱指标(RSI)等,可以帮助交易者识别市场动量,判断价格变化的速度和幅度。
  • 波动率分析: 通过计算波动率指标,如平均真实范围(ATR)、布林带等,可以帮助交易者了解市场波动情况,评估风险水平。

安装过程如下:

cd ta-lib && ./configure --prefix=/usr/local/talib && make && make install
export TA_LIBRARY_PATH=/usr/local/talib/lib
export TA_INCLUDE_PATH=/usr/local/talib/include
pip install ta-lib
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述
我们完全可以只依赖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=True)
df['J']=3*df['K']-2*df['D']

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

empyrical

Quantopian开源的常见金融风险指标lib库,会调用pandas_datareader从yahoo或google获取股票数据

股票数据

  • 技术面:均线、 资金流入、 MACD、 KDJ、 RSI、 BOLL、 CCI、 BIAS、 WR、 MTM

  • 行情面:涨跌幅、 DDE大单净量、 DDE大单净额、 委比、 振幅、 换手率、 成交量、 成交额、 股价、 分时指标、 强势股

  • 基本面:总股本、总市值、 流通市值、 流通比例、 十大股东持股比例、 股东户数、 户均持股数、 增减持、 机构持股、 分红、 上市天数

  • 财务面:销售毛利率 市盈率 市净率 市销率 净利润增长率 营业收入增长率 每股收益 每股收益率增长率 净利润 每股净资产 每股现金流 每股未分配利润 每股资本公积 净资产收益率 每股股利 资产负债率

  • 阶段表现: 创阶段新高、 创阶段新低、 阶段缩量、 平台整理、 平台突破、 阶段涨幅、 阶段换手、 阶段振幅

  • 特色数据: 机构净额、 龙虎榜机构买入占比、 机构评级、 关注度、 涨停

  • 范围选择: 市场、 申万行业

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/836073
推荐阅读
相关标签
  

闽ICP备14008679号