【Tushare金融数据实战】SEPA选股策略
Tushare ID : 459953
1.Tushare接口包简介
Tushare是一个免费,开源的python财经数据接口包.拥有丰富的数据内容,如股票、基金、期货、数字货币等行情数据,公司财务、基金经理等基本面数据。
对于大学生而言!!完全免费!不像winxxd等数据库难以企及。
2.SEPA选股策略简介
SEPA策略源于《股票魔法师》,作者Mark Minervini,美国投资冠军,全美最成功的股票交易者之一,浸淫华尔街近30 年。他设立了Minervini Private Access公司,一个在线注册制平台网站,**提供实 时SEPA分析。**同时,他也设立了Master Trader Program项目,为参与人传授他的投 资理论。
SEPA策略为趋势性投资策略,通过该策略有助于选择出强趋势正股标的,该策略的具体决策流程是(均线系统个人结合行为偏好有所修改):
- 收盘价>MA34>MA60>MA120>MA200
- 收盘价>0.75*一年内最高价格
- 收盘价>1.3*一年内最低价格
3. 代码实现
import warnings
import pandas as pd
import numpy as np
# import chinese_calendar
import seaborn as sns
import tushare as ts
import datetime as dt
from dateutil.parser import parse
warnings.filterwarnings('ignore')
sns.set()
#获取使用接口
def get_token():
ts.set_token('xxx')
pro = ts.pro_api()
return pro
# 获取当前时间点下的股票列表、时间用以计算MA(50)、MA(150)、MA(200)
def get_date(date):
pro = get_token()
#获取观测时间点之前的一年内的交易日日期
end_date = dt.datetime.strftime(dt.datetime.strptime(date,'%Y%m%d') , '%Y%m%d')
start_date = dt.datetime.strftime(dt.datetime.strptime(date_final,'%Y%m%d') , '%Y%m%d')
date_all = pro.trade_cal(exchange='', start_date = start_date ,end_date = end_date)
date_list =( (date_all[date_all['is_open'] == 1]).cal_date.tolist())[1:]
#获取当前时间节点下的可交易股票数据,上市日期超过一年
stock_all = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,industry,list_date')
stock_list = (stock_all[stock_all['list_date'].apply(lambda x: dt.datetime.strptime(x,