tushare-学习笔记003-选股策略均线多头排列

均线天数自定义,数量自定义,选出符合多头排列的股票。
增加索引,选股结果保存到 .csv 文件中

思路比较简单,根据选股策略,准备数据,然后执行策略,保存结果。

github 链接

下面是部分代码。

# 设置选股日期为最后一个有效交易日
valid_screen_date = get_last_valid_trade_date()
# [[func,param],[func,param]]
strategies = [[name_filter, ['ST']], [close_filter, 25], [ma_divergency, [10, 25, 43, 60]]]
# 市场,选股日期,[[func,param],[func,param]]
pickup_list = screen_stock('ALL', valid_screen_date, strategies)
print('选股策略执行完毕')
def screen_stock(market, screen_date, strategies):
"""
负责根据策略选股操作
:param market: 选股的市场,目前支持 ALL,SH,SZ 三种
:param screen_date: 指定选股日期
:param strategies: 指定选股策略
:return:
"""
# 如果数据为准备好,根据选股策略,获取对应的数据
if not g_is_data_prepared:
# 20秒
# start = time.clock()
datas = prepare_data(market, screen_date, strategies)
# end = time.clock()
# print('CPU执行时间: ', end - start)

pickup_list = []
for data in datas:
bFound = True
for row in strategies:
# 股票名称过滤策略在获取数据的时候应用,这里不需要执行
if row[0] == name_filter:
continue
# print(row)
pickup = row[0](data, row[1])
if pickup is None:
bFound = False
break
if bFound:
# print(pickup)
pickup_list.append(pickup)
return pickup_list