yy228318 2022-08-04 12:00 采纳率: 60%
浏览 143
已结题

python选股策略

import akshare as ak
import pandas as pd
def begin(kyg):
    resp_json = ak.stock_zh_a_hist(symbol=kyg, period="daily", start_date="20190301", end_date='20220729', adjust="")
    df = pd.DataFrame(resp_json)
    ma = df['收盘']
    a = ma.rolling(window=20).mean()
    b = ma.rolling(window=60).mean()
    a = list(a)
    b = list(b)
    if a[-1] > b[-1]: 
#取4个列表值,hongda,lvxiao,hongxiao,lvda。
#有两条线,a绿线MA20,b红线MA60。
#当线在a>b金叉到a< b死叉(绿色云)区间时,取a的最大值添加到(lvda)里,b的最小值添加到( hongxiao)里。
#当线在a< b死叉到a<b金叉(红色云)区间时,取b的最大值添加到(hongda)里,a的最小值添加到(lvxiao)里。
#当a[-1]>lvda[-1] and b[-1]>hongda[-1]:
#print(有个提醒)
#当a[-1]<lvxiao[-1] and b[-1]<hongxiao[-1]:
#print(有个提醒)

        return True
gpc = []
gp=['000001', '000002', '000004', '000005', '000006', '000007', '000008', '000009', '000010', '000011', '000012', '000014', '000016', '000017', '000019']
for bb in gp:
    try:
        if begin(bb):
            gpc.append(bb)
            print(bb)
    except:
        print("cuowu" + bb)
print(gpc)

img

#取4个列表值,hongda,lvxiao,hongxiao,lvda。
#有两条线,a绿线MA20,b红线MA60。
#当线在a>b金叉到a< b死叉(绿色云)区间时,取a的最大值添加到(lvda)里,b的最小值添加到( hongxiao)里。
#当线在a< b死叉到a<b金叉(红色云)区间时,取b的最大值添加到(hongda)里,a的最小值添加到(lvxiao)里。
#当a[-1]>lvda[-1] and b[-1]>hongda[-1]:
#print(有个提醒)
#当a[-1]<lvxiao[-1] and b[-1]<hongxiao[-1]:
#print(有个提醒)

  • 写回答

4条回答 默认 最新

  • 脚踏南山 2022-08-05 09:14
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月13日
  • 已采纳回答 8月5日
  • 创建了问题 8月4日

悬赏问题

  • ¥15 poi合并多个word成一个新word,原word中横版没了.
  • ¥15 【火车头采集器】搜狐娱乐这种列表页网址,怎么采集?
  • ¥15 求MCSCANX 帮助
  • ¥15 机器学习训练相关模型
  • ¥15 Todesk 远程写代码 anaconda jupyter python3
  • ¥15 我的R语言提示去除连锁不平衡时clump_data报错,图片以下所示,卡了好几天了,苦恼不知道如何解决,有人帮我看看怎么解决吗?
  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?