单价格因子策略

2026-05-06

单价格因子策略,可以自行调整部分参数

注意:此策略只做演示,不作为投资参考,不作为任何买卖建议!

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

回测分析

-
年化收益率
-
最大回撤
-
夏普比率
-
胜率
展示区间 -
代码已隐藏
克隆策略后可查看完整代码
# -*- coding: utf-8 -*- 
from nmapi import * 
import pandas as pd 
import numpy as np 
import datetime 

def initialize(context): 
    # 交易参数 
    set_option('avoid_future_data', True) 
    set_option('use_real_price', True) 

    set_slippage(FixedSlippage(3/10000)) 
    set_order_cost(OrderCost( 
        open_tax=0, 
        close_tax=0.001, 
        open_commission=2.5/10000, 
        close_commission=2.5/10000, 
        close_today_commission=0, 
        min_commission=5 
    ), type='stock') 

    # 策略参数 
    g.top_n =  

    # 每周一调仓:weekday=1 表示周一(1~5 对应 周一~周五) 
    run_weekly(rebalance, weekday=, time='15:00') 


def rebalance(context): 
    target_list = pick_low_price_stocks(context, g.top_n) 
    log.info("本周目标(低价前{}):{}".format(len(target_list), target_list)) 

    # 先卖出:不在目标列表里的持仓全部清掉 
    current_hold = list(context.portfolio.positions.keys()) 
    for stock in current_hold: 
        if stock not in target_list: 
            order_target_value(stock, 0) 

    # 再买入:目标列表等权 
    if len(target_list) == 0: 
        log.info("可交易标的不足,跳过买入。") 
        return 

    # 等权目标市值(用 total_value 更稳定) 
    per_value = context.portfolio.total_value / len(target_list) 

    current_data = get_current_data() 
    for stock in target_list: 
        # 不能买:停牌/涨停(涨停买不进) 
        if current_data[stock].paused: 
AI 策略分析

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

请登录后参与评论讨论

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