zoukankan      html  css  js  c++  java
  • 在聚宽平台上编写的布林带策略

    import jqdata

    def initialize(context):
        set_option('use_real_price', True)
        set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')
        set_benchmark('000300.XSHG')
        
        g.security = ['600036.XSHG']
        
        g.N = 2
        g.ma_days = 20
        
    def handle_data(context, data):
        for stock in g.security:
            df = attribute_history(stock, g.ma_days)
            middle = df['close'].mean()
            upper = middle + g.N * df['close'].std()
            lower = middle - g.N * df['close'].std()
            
            p = get_current_data()[stock].day_open
            # 如果价格突破阻力线
            if p >= upper and stock in context.portfolio.positions:
                order_target(stock, 0)
        
        cash = context.portfolio.available_cash / len(g.security)
        
        for stock in g.security:
            df = attribute_history(stock, g.ma_days)
            middle = df['close'].mean()
            upper = middle + g.N * df['close'].std()
            lower = middle - g.N * df['close'].std()
            
            p = get_current_data()[stock].day_open
            # 如果价格跌破支撑线
            
            if p <= lower and stock not in context.portfolio.positions:
                order_target(stock, cash)

  • 相关阅读:
    CSP2018-09
    CSP2018-03
    CSP2017-12
    CSP2017-09
    CSP2017-03
    CSP2016-12
    [算法设计与分析] 奶酪 (并查集)
    5555
    阿超
    结对作业
  • 原文地址:https://www.cnblogs.com/IQ-Python/p/7423856.html
Copyright © 2011-2022 走看看