Stockstats
介绍
基于 pandas.DataFrame 封装出一个 StockDataFrame,包含了股票相关的统计、技术指标。
包含的技术指标如下:
| 指标 | 中文 |
|---|---|
| change (in percent) | |
| delta | |
| permutation (zero based) | |
| log return | |
| max in range | |
| min in range | |
| middle = (close + high + low) / 3 | |
| compare: le, ge, lt, gt, eq, ne | |
| count: both backward(c) and forward(fc) | |
| SMA: simple moving average | |
| EMA: exponential moving average | |
| MSTD: moving standard deviation | |
| MVAR: moving variance | |
| RSV: raw stochastic value | |
| RSI: relative strength index | |
| KDJ: Stochastic oscillator | |
| Bolling: including upper band and lower band. | |
| MACD: moving average convergence divergence.
Including signal and histogram. (see note) |
|
| CR: | |
| WR: Williams Overbought/Oversold index | |
| CCI: Commodity Channel Index | |
| TR: true range | |
| ATR: average true range | |
| line cross check, cross up or cross down. | |
| DMA: Different of Moving Average (10, 50) | |
DMI: Directional Moving Index, including
|
|
| TRIX: Triple Exponential Moving Average | |
| TEMA: Another Triple Exponential Moving Average | |
| VR: Volatility Volume Ratio |
使用方式
创建:
stock = StockDataFrame.retype(pd.read_csv('stock.csv'))
DataFrame 需要包含列名:
| 列名 | 说明 | 备注 |
|---|---|---|
| open | 开盘价 | |
| close | 收盘价 | |
| high | 最高价 | |
| low | 最低价 | |
| volume | 交易额 | the volume of stocks traded during the interval |
| amount | 交易量 | the amount of the stocks during the interval |
指标查看方式:
# volume delta against previous day
stock['volume_delta']
# open delta against next 2 day
stock['open_2_d']
# open price change (in percent) between today and the day before yesterday
# 'r' stands for rate.
stock['open_-2_r']
# CR indicator, including 5, 10, 20 days moving average
stock['cr']
stock['cr-ma1']
stock['cr-ma2']
stock['cr-ma3']
# volume max of three days ago, yesterday and two days later
stock['volume_-3,2,-1_max']
# volume min between 3 days ago and tomorrow
stock['volume_-3~1_min']
# KDJ, default to 9 days
stock['kdjk']
stock['kdjd']
stock['kdjj']
# three days KDJK cross up 3 days KDJD
stock['kdj_3_xu_kdjd_3']
# 2 days simple moving average on open price
stock['open_2_sma']
# MACD
stock['macd']
# MACD signal line
stock['macds']
# MACD histogram
stock['macdh']
# bolling, including upper band and lower band
stock['boll']
stock['boll_ub']
stock['boll_lb']
# close price less than 10.0 in 5 days count
stock['close_10.0_le_5_c']
# CR MA2 cross up CR MA1 in 20 days count
stock['cr-ma2_xu_cr-ma1_20_c']
# count forward(future) where close price is larger than 10
stock['close_10.0_ge_5_fc']
# 6 days RSI
stock['rsi_6']
# 12 days RSI
stock['rsi_12']
# 10 days WR
stock['wr_10']
# 6 days WR
stock['wr_6']
# CCI, default to 14 days
stock['cci']
# 20 days CCI
stock['cci_20']
# TR (true range)
stock['tr']
# ATR (Average True Range)
stock['atr']
# DMA, difference of 10 and 50 moving average
stock['dma']
# DMI
# +DI, default to 14 days
stock['pdi']
# -DI, default to 14 days
stock['mdi']
# DX, default to 14 days of +DI and -DI
stock['dx']
# ADX, 6 days SMA of DX, same as stock['dx_6_ema']
stock['adx']
# ADXR, 6 days SMA of ADX, same as stock['adx_6_ema']
stock['adxr']
# TRIX, default to 12 days
stock['trix']
# TRIX based on the close price for a window of 3
stock['close_3_trix']
# MATRIX is the simple moving average of TRIX
stock['trix_9_sma']
# TEMA, another implementation for triple ema
stock['tema']
# TEMA based on the close price for a window of 2
stock['close_2_tema']
# VR, default to 26 days
stock['vr']
# MAVR is the simple moving average of VR
stock['vr_6_sma']