多少人渴望在股市里实现财富自由,多少人又在股市折了腰。来来往往,不变的是人性。如果股票的涨你就会开心,股票的跌你就会郁闷。那可能这个玩法不太适合这类人。
分享一个我一直使用的策略,不能算是量化交易,但是算是半量化。按照自己的策略编写代码,筛选掉不符合策略的股票,那可能会省事一点。当然这个策略得靠谱、正确,然后重复做。我也不知道是不是正确的,我也在探索,所以就分享我最新使用的这个策略,希望可以和大神们一起讨论。同时,非常感谢Tushare平台,一直免费给出已经清洗的数据接口,让我们可以以更低成本走近量化。
量能,是我一直认为股票中最重要的指标。因为量能最能反应大资金的进场和撤退。我们经常会研究一个股票的基本面,经营状况,各项指标。这些是需要会花费大时间的,我们在这方面的能力是远远不如专业机构者,正如你不要用你的爱好去挑战别人的饭碗。所以我对于这些是不重视的。
第二,我认为也是非常重要的,最有效的指标是大家都是参考的指标。例如均线,所以在关键地方收得住就是多方的态度,或者说是诱多的陷阱。当然这些都不好说。
第三,结合指数。这方面研究就大了,有时候可能一没踩好节奏就被套,所以我认为这一块还是非常依赖于经验的。
最后给出我的完整代码,我们可以一起讨论或者更多,并且我将附上最新的代码运行出来的代码池的股票编号(编号可以方便大量的复制粘贴,从而保存到软件的某一个组)。
import pandas as pd
import numpy as np
import datetime
import tushare as ts # 量化工具包
# 获取当前时间,为全自动化运行做准备。
now_time = datetime.datetime.now() # 获取当前时间,具体到秒后面一位的单位。
n_time = now_time.strftime('%Y%m%d') # 整理出本代码需要的时间。
print('当前时间为:',n_time[:4] + "年" + n_time[4:6] + "月" + n_time[6:] + "日")
ts.set_token('你的接口号码')
# call interface
pro = ts.pro_api()
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
data['pre'] = data['symbol'].apply(lambda x:x[:3]) # 提取代码前缀,方便去掉300和688
data.head()
data = data[data['pre'] != '688']
data = data[data['pre'] != '300']
data = data[data['pre'] != '301']
lis_code_com = data['ts_code'].tolist()
del_amount = []
target_com = []
for com in range(len(lis_code_com)):
try:
#++++++直接自动寻找当天交易日的个股++++++
df = pro.daily(ts_code=lis_code_com[com], start_date='20210913', end_date=n_time)
#++++++手动设定指定交易日的个股++++++
#df = pro.daily(ts_code=lis_code_com[com], start_date='20210913', end_date='20220111')
df = df.iloc[:10,:] # 取前十个最新交易日
# condition1 成交量大于3亿
active = np.mean(df.amount) > 400000
# condition2 5日均值 > 10日均值
m5 = np.mean(df.close[:5]) # 5日均值
m10 = np.mean(df.close) # 10日均值
mea = m5 > m10
# condition3 缩量标准
suoLiang = max(df.vol) >= df.vol[0] * 2
# condition4 放出最大量的不能是阴量
df1 = df.loc[df['vol'] == max(df.vol)]
notYing = df1['close'] - df1['open'] > 0
notYing = notYing.bool()
# condition5 股价大于150的不要
price = df['open'][0] < 150
print(com)
if active & suoLiang & mea & notYing & price:
target_com.append(lis_code_com[com])
print(target_com)
# del_amount.append(lis_code_com[com])
# del lis_code_com[com]
except:
continue
target_com
版权声明:本文为zou_gr原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。