写一Pyhon程席,能够统计最近一个月涨幅达到30%以上的股票在最近一个月前的市值、成交额、阳线数量、振幅和继续形态(使 用TA-Lib) 请把每一个维度统计的方法和参数定义出来
时间: 2024-03-08 17:49:57 浏览: 138
用于监控大盘中可能近期大幅上涨的股票,python编写
5星 · 资源好评率100%
好的,以下是符合你要求的Python代码:
```
import tushare as ts
import talib as ta
import datetime
# 获取最近一个月的日期范围
end_date = datetime.datetime.today().strftime('%Y-%m-%d')
start_date = (datetime.datetime.today() - datetime.timedelta(days=30)).strftime('%Y-%m-%d')
# 获取股票数据
pro = ts.pro_api()
df = pro.daily(trade_date=start_date, end_date=end_date)
# 计算涨幅
df['pct_chg'] = (df['close'] - df['pre_close']) / df['pre_close'] * 100
# 筛选涨幅超过30%的股票
df = df[df['pct_chg'] >= 30]
# 统计指标
market_values = df['pre_close'].sum() # 最近一个月前的市值
turnovers = df['vol'].sum() # 最近一个月前的成交额
candle_colors = ta.CDL2CROWS(df['open'].values, df['high'].values, df['low'].values, df['close'].values) # 最近一个月前阳线数量
amplitudes = ta.WILLR(df['high'].values, df['low'].values, df['close'].values, timeperiod=14) # 最近一个月前振幅
continuation = ta.CDLKICKINGBYLENGTH(df['open'].values, df['high'].values, df['low'].values, df['close'].values) # 最近一个月前的继续形态
print('最近一个月前的市值:', market_values)
print('最近一个月前的成交额:', turnovers)
print('最近一个月前阳线数量:', candle_colors)
print('最近一个月前振幅:', amplitudes)
print('最近一个月前的继续形态:', continuation)
```
解释一下代码:
1. 使用Tushare库获取股票数据,其中`trade_date`参数指定日期范围;
2. 计算涨幅并筛选出涨幅超过30%的股票;
3. 使用TA-Lib库计算所需的指标,其中涉及到的函数和参数分别为:
* `ta.CDL2CROWS()`:计算两只乌鸦形态的数量,输入参数为OHLC四个序列;
* `ta.WILLR()`:计算威廉指标,输入参数为OHLC四个序列和时间周期;
* `ta.CDLKICKINGBYLENGTH()`:计算长腿十字形态数量,输入参数为OHLC四个序列;
4. 输出统计结果。
希望能对你有所帮助!
阅读全文