四大行网格策略

2026-05-07

将四大行分别纳入网格策略之中。将资金分成N份,每上涨或下跌 X 个百分点为一格,每次下跌触及到一格时,买入一份资金,上涨触及到一格时,卖出一份。有不同参数可以调整,可自行测试。

参数解释:

每个网格几个百分点 – 每上涨或下跌多少个百分点为一格

初始每笔交易资金 – 每份资金多少钱

是否动态交易资金 – 如果选择是,则代表每份资金会动态调整。比如:初始设置为10000,随着时间推移,总资产翻了一倍,那此时每份资产就变成了20000。在牛市中会更激进,但熊市中会更保守,反弹时可能会因买入的份额少而造成需要更久时间修复回撤

此策略只做学习使用,不作为投资参考,不作为任何买卖建议!
关联策略: 网格策略 11 次克隆

回测分析

-
年化收益率
-
最大回撤
-
夏普比率
-
胜率
展示区间 -
代码已隐藏
克隆策略后可查看完整代码
from nmapi import *
# 初始化函数,设定基准等等
def init(context):
    set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')
    log.set_level('order', 'warning')  # 设置日志级别
    g.securities = ['601939.SH','601398.SH','601288.SH','601988.SH'] 
    g.net_range =  / 100  
    g.per_share =   
    g.per_share_init = g.per_share
    g.is_dynamic_cash_pool = ''
    g.days = 120 
    g.down = 0.2 
    g.up = 0.2 

    g.net = {}  
    g.base_price = {} 
    g.buy_shares = {} 

    run_schedule(trade, 'daily', time='15:00')


# 交易函数
def trade(context):
    if g.is_dynamic_cash_pool == '是':
        g.per_share = context.portfolio.total_value / (context.portfolio.starting_cash / g.per_share_init)
    if len(g.net) != len(g.securities):
        not_bought_sec_avg_price = {}  
        not_bought_sec_list = [] 
        for sec in g.securities:
            if sec not in g.net:
                not_bought_sec_list.append(sec)

        for sec in not_bought_sec_list:
            try:
                hist = attribute_history(sec, count=g.days, unit='1d', fields=['close'])
                if not hist.empty:
                    avg_price = hist['close'].mean()
                    not_bought_sec_avg_price[sec] = round(avg_price, 2)
            except Exception as e:
                log.error(f"错误: {e}")

    for sec in g.securities:
        if sec not in g.net:
            if sec not in not_bought_sec_avg_price:
                continue 

            avg_price = not_bought_sec_avg_price[sec]
            current_data = get_current_data()
            cur_price = current_data[sec].last_price
            low_price = (1 - g.down) * avg_price
AI 策略分析

点击上方的“AI 分析策略”按钮,利用大模型深度解析该策略的逻辑、风险与改进方向。

请登录后参与评论讨论

关于作者
量化课堂
注册于 2025-10-08 06:42:24