DAY #22
1.主题
CSDN股票量化分析系列
https://blog.csdn.net/niuge8905/article/details/78117503
https://blog.csdn.net/xieyan0811/article/details/73799775
https://blog.csdn.net/xieyan0811/article/details/74315819
Python股票处理之八_大数定律
https://blog.csdn.net/xieyan0811/article/details/76473630
如何使用Python api 函数写股票策略
https://blog.csdn.net/JDquant/article/details/54316870
python 股票系统设计
https://blog.csdn.net/freewebsys/article/details/75364909
2.摘要
TuShare是国内股票数据抓取工具,除了股票的实时和历史数据,还有基本面数据。
在数据统计和预测的过程中,工程师基本都使用现成的算法,工程师的主要工作是根据具体业务逻辑预处理数据和选择算法。
首先要对数据预处理(数据清洗),包括数据的归一化,去除重复数据,修改错误数据,填充无效数据,抽象数据表示,筛选特征值,分配权重等等,以得到更准确的数据和更有效的结果。
TA-Lib 用中文可以称作技术分析库,是一种广泛用在程序化交易中进行金融市场数据的技术分析的函数库。
主要包括:多种指标,如ADX, MACD, RSI, 布林轨道等等K线形态识别,如黄昏之星,锤形线等等
Talib的180个函数,其中六十多个“CDL”开头的函数,全都是关于K线图(英文蜡烛图,candle)。
需注意的是,Ta-lib与国内股票软件的指数指标,计算方式有较大的差异,例如:
•ATR的计算,国内一般是取TR(真实波幅)的简单平均,而Ta-lib则是采取类似EMA平均一样的方法求TR的平均值
•MACD(12,26,9)的计算,Ta-lib对于前33个初始值是未定义的,国内软件计算时则是根据已有的几根Bar计算的平均值比照MACD公式进行换算的。
首先导入:
import tushare as ts
import talib
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
#获取股票分时tick数据:
ts.get_tick_data('601318',date='2017-06-26')
#获取股票日线级数据——>返回OHLC + MA(5,10,20) + MAV(5,10,20)+TURNOVER
ts.get_hist_data('601318',start='2017-06-23',end='2017-06-26')
# 获取历史复权数据:get_stock_basics
df2 = ts.get_stock_basics()
#画出MA30:——>也可以画均线组
#通过tushare获取股票信息
s1=ts.get_k_data('300580',start='2017-01-01',end='2018-03-26')
#提取收盘价
closed=s1['close'].values
#获取均线的数据,通过timeperiod参数来分别获取 30 日均线的数据。
ma30=talib.SMA(closed,timeperiod=30)
plt.plot(closed)
plt.plot(ma30)
plt.show()
#计算RSI与momentum:
df=ts.get_k_data('600600')
close = [float(x) for x in df['close']]
df['RSI']=talib.RSI(np.array(close), timeperiod=12) #RSI的天数一般是6、12、24
df['MOM']=talib.MOM(np.array(close), timeperiod=5)
df.tail(12)
利用set格式选取交集:
有的时候我们利用不同标准会得到不同的股票池,如果想得到不同股票池的共同股票,那么可以使用set格式。
Set格式可以很方便的进行交集、并集等集合运算。比如我们通过设置一定的财务数据条件会得到一个dataframe,记作df。df的列为股票代码,但可能并不都是我们所需的,比如我们只想得到沪深300的成份股,那么可以这样操作:
1 ——> s=get_index_constituents(‘000300.SH’) 得到沪深300的成份股。
2 ——> z=set(s) & set(df.columns) 得到交集z。
3 ——> 得到的z是set格式,需要转换为list格式,可以这样操作 zl=list(z)。
4 ——> 利用pandas 函数 筛选出我们需要的个股 d=df.loc[:zl] d即位我们所需要的数据。
3.心得感悟
按需积累语句块,为最后的组装打好基础。
全系使用python实现。因为都是python的类库,互相之间调用方便。
从数据抓取,数据处理,到数据展示数据运算都是python实现。
股票交易系统工具集:
①.股票数据抓取框架 ——> TuShare
②.数据分析清洗 ——> pandas + numpy
③.数据存储到磁盘上,不使用数据库。存储PyTabe,hdf5格式
④.web框架 ——> tornado
⑤.机器学习 ——> TensorFlow
⑥.数据展示 ——> echarts
4.时间统计
昨日阅读5小时,累计510小时
|