会员登录 立即注册

搜索

5000 元也适合的量化框架

[复制链接]
崎山小鹿 发表于 昨天 12:26 | 显示全部楼层 |阅读模式
崎山小鹿
昨天 12:26 46 0 看全部
逻辑简单
✅ 不追求高频
✅ Python 能直接跑
✅ 可先模拟,再半自动,最后实盘

一、整体量化框架(先看全貌)
🧠 这套框架在做什么?

用趋势判断 + 风控,决定 ETF 什么时候买、什么时候空仓

📦 适合标的

沪深300ETF

创业板ETF

中证500ETF
👉 只做 ETF,不碰个股

📊 策略核心逻辑(一句话版)

当 ETF 价格在中期趋势之上 → 持有
当价格跌破趋势 → 清仓观望

不预测,只跟随。

二、策略规则(非常清晰)
1️⃣ 使用指标

20 日均线(短期)

60 日均线(中期)

2️⃣ 买入规则
20 日均线 > 60 日均线
并且
收盘价 > 60 日均线


👉 市场处在上升趋势

3️⃣ 卖出规则
收盘价 < 60 日均线


👉 趋势走坏,直接离场

4️⃣ 仓位规则(适合 5000 元)

最多只持有 1~2 只 ETF

单只 ETF 不超过 50% 仓位

不加杠杆、不融资

三、完整 Python 示例(可直接跑)

说明:

使用 yfinance 获取数据(学习/回测用)

实盘时换成量化平台数据即可

📌 安装依赖

pip install yfinance pandas matplotlib

聚宽完整代码:

# === 引入聚宽平台核心接口 ===
# jqdata 是 JoinQuant 提供的 API 集合
from jqdata import *


def initialize(context):
    """
    initialize 函数:
    - 只在策略启动时运行一次
    - 用来做全局配置、参数初始化、调度任务
    """

    # ===============================
    # 一、基础环境设置
    # ===============================

    # 设置策略的对标基准
    # 用沪深300ETF作为基准,方便对比策略收益
    set_benchmark('510300.XSHG')

    # 使用真实价格(而不是前复权/后复权)
    # 实盘、ETF 策略必须开启
    set_option('use_real_price', True)

    # 设置日志级别
    # 这里只保留错误日志,避免订单日志刷屏
    log.set_level('order', 'error')


    # ===============================
    # 二、手续费设置(ETF)
    # ===============================
    """
    A股 ETF 的真实手续费很低
    这里做一个近似设置,主要是为了回测更贴近实盘
    """

    set_order_cost(
        OrderCost(
            open_tax=0,              # 买入不收印花税
            close_tax=0,             # 卖出 ETF 也不收印花税
            open_commission=0.0003,  # 买入佣金:万 3
            close_commission=0.0003, # 卖出佣金:万 3
            min_commission=5         # 最低 5 元
        ),
        type='stock'                 # ETF 在聚宽里按 stock 处理
    )


    # ===============================
    # 三、策略参数定义
    # ===============================

    # 交易标的:沪深300 ETF
    context.etf = '510300.XSHG'

    # 短期均线参数(20 日)
    context.ma_short = 20

    # 中期均线参数(60 日)
    context.ma_long = 60


    # ===============================
    # 四、调度交易函数
    # ===============================

    # 每个交易日运行一次 trade 函数
    # 在收盘前运行(用当天完整数据)
    run_daily(trade, time='close')


def trade(context):
    """
    trade 函数:
    - 每个交易日执行
    - 负责生成交易信号并下单
    """

    # ===============================
    # 一、读取策略参数
    # ===============================

    etf = context.etf


    # ===============================
    # 二、获取历史行情数据
    # ===============================
    """
    attribute_history:
    - 获取指定证券的历史数据
    - 这里取 ma_long + 1 天,是为了保证均线计算足够
    """

    prices = attribute_history(
        etf,                        # 证券代码
        context.ma_long + 1,        # 取 61 天数据
        '1d',                       # 日线数据
        ['close'],                  # 只需要收盘价
        skip_paused=True            # 跳过停牌日
    )

    # 取出收盘价序列
    close = prices['close']

    # 计算 20 日均线
    ma20 = close[-context.ma_short:].mean()

    # 计算 60 日均线
    ma60 = close[-context.ma_long:].mean()

    # 最新一个交易日的收盘价
    current_price = close[-1]


    # ===============================
    # 三、读取当前持仓
    # ===============================
    """
    total_amount:
    - 表示当前持有的 ETF 数量
    - 如果为 0,表示空仓
    """

    position = context.portfolio.positions[etf].total_amount


    # ===============================
    # 四、交易逻辑(核心)
    # ===============================

    # === 买入条件 ===
    # 1. 短期均线在中期均线之上(趋势向上)
    # 2. 当前价格在 60 日均线之上(价格不破趋势)
    if ma20 > ma60 and current_price > ma60:

        # 如果当前没有持仓
        if position == 0:
            # 使用全部资金买入 ETF
            # order_target_value:调整到目标市值
            order_target_value(
                etf,
                context.portfolio.total_value
            )

    # === 卖出条件 ===
    # 只要价格跌破 60 日均线,就认为趋势结束
    else:
        if position > 0:
            # 清空持仓
            order_target(etf, 0)




四、这套策略为什么适合 5000 元?
✅ 1️⃣ 低交易频率

日频 / 周频

几个月才交易一次

手续费影响极小

✅ 2️⃣ 回撤可控

大跌会空仓

不死扛

✅ 3️⃣ 心理压力小

不盯盘

不追热点

✅ 4️⃣ 可逐步升级

你以后可以加:

多 ETF 轮动

动量排序

波动率控制

最大回撤止损

五、5000 元实盘执行方式(现实版)
🔹 新手最优解(强烈建议)

❌ 不要直接 API 自动下单
✅ 半自动执行

每周一次:

跑策略

看 signal(0 or 1)

手动买 / 卖 ETF

👉 已经是 80% 的量化效果

🔹 示例仓位

沪深300ETF:2500

创业板ETF:2000

现金:500
天不生墨翟,万古如长夜!以墨运商,以商助墨。金双石科技长期招聘科技研发人才!微信:qishanxiaolu   电话:15876572365   公司:深圳市金双石科技有限公司
回复

使用道具 举报

  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册 |

本版积分规则 返回列表

管理员给TA私信
以墨运商,以商助墨。

查看:46 | 回复:0

  • 高端神经反馈脑波检测系统

    高端神经反馈脑波检测系统分为脑波检测、脑波分析、脑波解码三个部分。 前端主程序

    阅读:9|2026-01-06
  • 国内第三方量化平台有哪些有什么特点

    好的,我们来详细了解一下国内主流的第三方量化平台。这些平台极大地降低了个人投资者

    阅读:487|2025-12-09
  • 为什么脑波要去除伪迹

    1. 伪迹不是大脑信号 EEG设备记录的是头皮上非常微弱的电位变化(微伏级别,μV)。

    阅读:13|2025-12-05
  • 便携可视化语音AI耳机

    项目起源: 初先生的聊天记录: 你那边掌握的技术,有办法做一个有摄像头的,墨者机

    阅读:9|2025-12-01
  • 脑波峰值频率

    看看1-30Hz脑波功率曲线 发现15Hz之后的波动很小。 去掉15Hz之后的曲线 发现4Hz

    阅读:103|2025-11-28
  • 什么是基础节律

    🧠 一、什么是“基础节律”(Basic Rhythm) 基础节律 = 在闭眼静息状态下,大脑自发

    阅读:117|2025-11-27
  • 情绪指数EQ是什么?

    情绪指数 EQ 在脑波科学(特别是情绪解码、神经反馈、BCI 领域)中,通常不是单个固定

    阅读:231|2025-11-22
  • 抗癫痫作用的SMR波

    SMR 波(Sensorimotor Rhythm)是脑电学里一个非常重要、但经常被忽略的节律。它与运

    阅读:226|2025-11-22
  • 为什么科学家认为β波与人的注意、紧张相关

    科学家之所以非常确定 β波(13–30 Hz)与“注意、警觉、紧张、执行任务”相关,不是

    阅读:219|2025-11-22
  • 为什么说θ波与冥想、困倦相关

    科学界之所以认为 θ波(Theta, 4–7 Hz)与“冥想、困倦、催眠状态”有关,并不是玄

    阅读:212|2025-11-22
金双石科技,软件开发20年,技术行业领先,您的满意,就是我们的目标,认真负责,开拓进取,让成品物超所值
关于我们
公司简介
发展历程
联系我们
本站站务
友情链接
新手指南
内容审核
商家合作
广告合作
商家入驻
新闻合作

手机APP

官方微博

官方微信

联系电话:15876572365 地址:深圳市宝安区西乡街道宝民二路宝民花园 ( 粤ICP备2021100124号-1 ) 邮箱:qishanxiaolu@qq.com
QQ|Powered by Discuz! X3.5 © 2001-2026 Discuz! Team.
快速回复 返回顶部 返回列表