【量化】4天学会python机器学习与量化交易-笔记2(p11~p15)

米筐量化交易API:这里
https://www.ricequant.com/doc/rqdata-institutional
https://www.ricequant.com/quant/#?tag=algorithm-ol&id=899857

【量化】4天学会python机器学习与量化交易-笔记1(p6~p10)

p11 案例:介绍

视频链接:案例:介绍
1,需求

  • 选股:获取市盈率大于50且小于65,营业总收入前10的股票。
  • 调仓:每日调仓,将所有资金平摊到这10个股票的购买策略,卖出时一次性卖出所有不符合条件的股票。

2,自己实现的(不知道是否正确)

def handle_bar(context,bar_dict):
    q = query(
        fundamentals.eod_derivative_indicator.pe_ratio,
        fundamentals.income_statement.operating_revenue
    ).filter(
        # 市盈率大于50且小于65
        fundamentals.eod_derivative_indicator.pe_ratio>50,
        fundamentals.eod_derivative_indicator.pe_ratio<65
    ).order_by(
        # 营业总收入前10
        fundamentals.income_statement.operating_revenue.desc()
    ).limit(10) # 取10支

    # 每天获取符合条件的10支股票
    fund = get_fundamentals(q)
    
    # 先用变量存储昨天的
    yesterday = context.stocks
    # 获取今天的
    today = fund.columns.values.tolist()
    # context.stocks = today
    # 要卖掉的:在yesterday中但不在today中
    to_sell_stocks = [x for x in yesterday if x not in today ]
    # 要买入的:在today中但不在yesterday中
    to_buy_stocks = [y for y in today if y not in yesterday]
    # 卖出
    print("卖的:",to_sell_stocks)
    print("买的:",to_buy_stocks)
    print("====")
    if len(to_sell_stocks)!=0:
        percent1 = 1/len(to_sell_stocks
  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值