在三亚待了半个月,天天都在家窝着,还没有去海边转转。
现在基本过的是黑白颠倒的生活,打算过几天把自己的生物钟调回来,然后去海边走走。
老爸这几天也没闲着,让我帮忙实现一个选股公式的需求。利用日线和分钟线的共振来选择适合的股票,下面是具体的实现代码:
import time
def average(order, prieod, M):
now_date = time.strftime('%Y-%m-%d',time.localtime(time.time()))
if prieod == '1d':
begin_date = time.strftime('%Y-%m-%d',time.localtime(time.time()-5*7*24*3600))
try:
time_list = get_price(order, start_date = begin_date, end_date = now_date, frequency = prieod, adjust_type = 'pre', skip_suspended = False, country = 'cn')
#print(time_list)
return average_merge(time_list, M)
except:
#print("无法获取到数据")
pass
elif prieod == '60m' or prieod == '30m':
begin_date = time.strftime('%Y-%m-%d',time.localtime(time.time()-7*24*3600))
try:
time_list = get_price(order, start_date = begin_date, end_date = now_date, frequency = prieod, adjust_type = 'pre', skip_suspended = False, country = 'cn')
#print(time_list)
return average_merge(time_list, M)
except:
#print("无法获取到数据")
pass
def average_merge(time_list, M):
sum = 0
item = len(time_list.index)
for delay in range(1, M+1):
sum += time_list['close'][item-delay]
average = sum / M
return average
def Fliter(fac):
share_list = concept( fac )
target_list = []
for share in share_list:
try:
if average(share, '1d', 5) >= average(share, '1d', 10) and average(share, '1d', 10) >= average(share, '1d', 20):
print("已通过一轮筛选:", share)
if average(share, '60m', 5) >= average(share, '60m', 10) and average(share, '60m', 10) >= average(share, '60m', 20):
print("已通过二轮筛选:", share)
if average(share, '30m', 5) >= average(share, '30m', 10) and average(share, '30m', 10) >= average(share, '30m', 20):
print("已通过三轮筛选:", share)
target_list.append(share)
except:
#print("无法比较")
pass
print("\n",fac,"命中个股:")
for item in target_list:
print(item)