用Python中talib库实现选股函数步骤:1、定义一个空列表选股列表准备存放选中的股票;2、获取A股全部股票列表
- 安装ta-lib库
在命令行中输入以下命令:
pip install ta-lib
- 导入必要的库
在Python文件中导入以下库:
import talib
import tushare as ts
- 获取A股全部股票列表
使用tushare库中的函数获取A股全部股票列表:
stock_list = ts.get_stock_basics().index.tolist()
- 定义选股函数
定义一个选股函数,该函数接收一个股票代码作为参数,使用talib库中的技术指标函数进行计算,判断股票是否符合选股条件:
def select_stock(stock_code):
# 获取历史股价数据
df = ts.get_k_data(stock_code)
# 计算MACD指标
macd, signal, hist = talib.MACD(df['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
# 判断MACD是否出现金叉
if macd[-1] > signal[-1] and macd[-2] < signal[-2]:
return True
else:
return False
在该函数中,我们使用了talib库中的MACD指标函数来计算MACD指标。我们可以根据股市行情进行不同的指标计算,并设置合适的阈值来判断股票是否符合选股条件。
- 循环股票列表进行选股
循环A股全部股票列表,调用选股函数判断每只股票是否符合条件,将符合条件的股票添加到选股列表中:
select_list = []
for stock_code in stock_list:
if select_stock(stock_code):
select_list.append(stock_code)
- 返回选股结果
将选股列表作为函数返回值返回:
return select_list
完整代码:
import talib
import tushare as ts
def select_stock(stock_code):
# 获取历史股价数据
df = ts.get_k_data(stock_code)
# 计算MACD指标
macd, signal, hist = talib.MACD(df['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
# 判断MACD是否出现金叉
if macd[-1] > signal[-1] and macd[-2] < signal[-2]:
return True
else:
return False
def stock_selection():
# 获取A股全部股票列表
stock_list = ts.get_stock_basics().index.tolist()
# 选股
select_list = []
for stock_code in stock_list:
if select_stock(stock_code):
select_list.append(stock_code)
# 返回选股结果
return select_list
``
原文地址: https://www.cveoy.top/t/topic/cZtQ 著作权归作者所有。请勿转载和采集!