单价格因子策略
单价格因子策略,可以自行调整部分参数
注意:此策略只做演示,不作为投资参考,不作为任何买卖建议!
此策略只做学习使用,不作为投资参考,不作为任何买卖建议!
关联策略:
最小价格策略
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 分析策略”按钮,利用大模型深度解析该策略的逻辑、风险与改进方向。
请登录后参与评论讨论