量化交易:日内回转交易策略

news2024/9/21 12:47:51

哈喽,大家好,我是木头左!

引言

本文将介绍日内回转交易策略的原理,并通过Python代码示例展示如何在掘金平台实现该策略。本文将深入探讨一种基于1分钟MACD(Moving Average Convergence Divergence,即移动平均收敛散布指标)的日内回转交易策略,该策略在金叉时买入,在死叉时卖出,并在尾盘回转至初始仓位。

策略原理

日内回转交易是指在一个交易日内完成买入和卖出的过程,目的是利用市场的波动性来获得利润。这种交易方式通常需要投资者密切关注市场动态,并且具备快速做出交易决策的能力。

1分钟MACD指标简介

MACD是一种趋势跟踪动量指标,它通过计算短期和长期的指数移动平均线(EMA)之间的差异来反映市场的趋势。1分钟MACD则是将MACD指标应用在极短的时间框架上,即每分钟的价格变动。

金叉与死叉

在MACD指标中,当短期EMA线上穿长期EMA线时,形成金叉,通常被视为买入信号。相反,当短期EMA线下穿长期EMA线时,形成死叉,通常被视为卖出信号。

选股和择时

以下是一个简单的选股和择时Python代码示例:

开仓策略

  • 金叉买入:当1分钟MACD显示金叉时,投资者执行买入操作,进入市场。
  • 死叉卖出:当1分钟MACD显示死叉时,投资者执行卖出操作,退出市场。

# 开盘处理函数
def on_bar(context, bars):
    bar = bars[0]
    symbol = bar.symbol
    # 配置底仓
    if context.first[symbol] == 0:
        # 购买10000股浦发银行股票
        order_volume(symbol=symbol, volume=context.total, side=OrderSide_Buy, order_type=OrderType_Market, position_effect=PositionEffect_Open)
        print('{}:{}建底仓,以市价单开多仓{}股'.format(context.now, symbol, context.total))
        context.first[symbol] = 1
        return

    # 获取持仓
    position = list(filter(lambda x: x['symbol'] == symbol, get_position()))
    if position is None:
        return
    # 可用仓位
    available_volume = position[0]['volume'] - position[0]['available_today']
    # 非尾盘时间,正常交易(首日不交易,可用仓位为0)
    if available_volume > 0:
        # 调用收盘价
        close = context.data(symbol=symbol, frequency=context.frequency, count=context.periods_time, fields='close')['close'].values
        # 计算MACD线
        macd = MACD(close)[-1]
        # MACD由负转正时,买入
        if macd[-2] <= 0 and macd[-1] > 0:
            order_volume(symbol=symbol, volume=context.trade_n, side=OrderSide_Buy, order_type=OrderType_Market, position_effect=PositionEffect_Open)

        # MACD由正转负时,卖出
        elif macd[-2] >= 0 and macd[-1] < 0 and available_volume >= context.trade_n:
            order_volume(symbol=symbol, volume=context.trade_n, side=OrderSide_Sell, order_type=OrderType_Market, position_effect=PositionEffect_Close)

# EMA计算函数
def EMA(S: np.ndarray, N: int) -> np.ndarray:
    return pd.Series(S).ewm(span=N, adjust=False).mean().values

# MACD计算函数
def MACD(CLOSE: np.ndarray, SHORT: int = 12, LONG: int = 26, M: int = 9) -> tuple:
    DIF = EMA(CLOSE, SHORT) - EMA(CLOSE, LONG)
    DEA = EMA(DIF, M)
    MACD = (DIF - DEA) * 2
    return DIF, DEA, MACD

尾盘回转策略

  • 回转至初始仓位:在交易日结束前,无论盈亏,投资者都将仓位回转至初始状态,以规避隔夜风险。
    # 尾盘回转仓位
    if context.now.hour == 14 and context.now.minute >= 57 or context.now.hour == 15:
        if position[0]['volume'] != context.total:
            order_target_volume(symbol=symbol, volume=context.total, order_type=OrderType_Market, position_side=PositionSide_Long)
			

回测效果

回测效果图如下:在这里插入图片描述
整体比较平稳,收益率不是太高。

策略的特点

  • 快速反应市场变化:1分钟MACD能够迅速捕捉市场的短期动向。但1分钟的时间框架很容易受到市场噪音的影响,导致错误的交易信号。
  • 规避隔夜风险:尾盘回转策略避免了持仓过夜可能带来的不确定性。
  • 适合短线交易者:对于喜欢日内交易的投资者来说,这种策略提供了清晰的进出点。实施这种策略需要高度自动化的交易系统和稳定的网络环境。

市场有风险,交易需谨慎。
感兴趣的朋友,可以在下方公号内回复:002,即可获取源码,共同交流!

我是木头左,感谢各位童鞋的点赞、收藏,我们下期更精彩!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1679070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++ LeetCode 刷题经验、技巧及踩坑记录【三】

C LeetCode 刷题经验、技巧及踩坑记录【三】 前言vector 计数vector 逆序vector 删除首位元素vector二维数组排序vector二维数组初始化C 不同进制输出C 位运算C lower_bound()C pairC stack 和 queue 前言 记录一些小技巧以及平时不熟悉的知识。 vector 计数 计数 //记录与首…

C# Winform+Halcon结合标准视觉工具

介绍 winform与halcon结合标准化工具实例 软件架构 软件架构说明 基于NET6 WINFORMHALCON 实现标准化视觉检测工具 集成相机通讯 集成PLC通讯 TCP等常见通讯 支持常见halcon算子 图形采集blob分析高精度匹配颜色提取找几何体二维码提取OCR识别等等 。。。 安装教程 …

MQTT_客户端安装_1.4

下载地址 MQTTX 下载 下一步直接安装即可 界面介绍

GhostNetV2 Enhance Cheap Operation with Long-Range Attention 论文学习

论文地址&#xff1a;https://arxiv.org/abs/2211.12905 代码地址&#xff1a;https://github.com/huawei-noah/Efficient-AI-Backbones/tree/master/ghostnetv2_pytorch 解决了什么问题&#xff1f; 在计算机视觉领域&#xff0c;深度神经网络在诸多任务上扮演着重要角色。为…

从源头到洞察:大数据时代的数据提取与分析实战指南

随着科技的飞速发展&#xff0c;大数据已经成为现代社会的核心驱动力之一。从商业决策到科学研究&#xff0c;从政策制定到个人生活&#xff0c;数据无处不在&#xff0c;影响着我们的每一个决策。然而&#xff0c;如何从海量的数据中提取有价值的信息&#xff0c;并转化为深刻…

LVM - Linux磁盘逻辑卷管理器概念讲解、实践及所遇到的问题

1、lvm概念 逻辑卷管理器(LogicalVolumeManager)本质上是一个虚拟设备驱动,是在内核中块设备和物理设备之间添加的一个新的抽象层次,它可以将几块磁盘(物理卷,PhysicalVolume)组合起来形成一个存储池或者卷组(VolumeGroup)。LVM可以每次从卷组中划分出不同大小的逻辑卷(Logi…

iOS 主要语言切换问题

前言 上架时需要把主要语言切换成英文&#xff0c;存储时一直提示“因为您必须先为使用这种语言的每个版本提供所有必需的截屏”错误。 错误截图 解决方案&#xff1a; 1、增加英文的截图去审核&#xff0c;审核过了再切换主要语言 官方文档出处 END.

uniapp小程序使用scroll-view组件实现上下左右滚动触发事件

在做uniapp开发小程序的时候&#xff0c;有一个需求是在一个表格区域里面可以上下左右滑动元素&#xff0c;并实现表头和左侧的标签联动效果&#xff0c;就想趣运动里面选择场地的效果一样&#xff0c;这里就用到了scroll-view组件&#xff0c;scroll-view官网文档地址&#xf…

安卓、iOS、iPad三端搞定,不再剧荒!

哈喽&#xff0c;各位小伙伴们好&#xff0c;我是给大家带来各类黑科技与前沿资讯的小武。 之前给大家推荐过各种看剧姿势&#xff0c;但很多苹果、平板端的小伙伴还是存在更好的需求体验&#xff0c;今天给大家推荐这款可以在安卓、iOS和平板上都能安装使用&#xff0c;不再剧…

音视频捕捉技术:LCC382 SDI采集卡深度解析

在日新月异的多媒体时代&#xff0c;高质量的音视频采集已成为众多领域不可或缺的一环。为此&#xff0c;灵卡科技精心打造了LCC382 —— 一款集高效性、灵活性与前沿技术于一身的SDI输入与环出、HDMI输出音视频采集卡&#xff0c;旨在满足从专业直播、视频会议到医疗影像、安防…

F5 Big-IP的一些查看命令

1 查看主机名&#xff0c;序列号&#xff0c;版本号 system —>configuration—>Device

Linux系统中pts和tty会话删除

一、背景 一台CentOS6.7主机存在iscsi盘&#xff0c;为了正常卸载此iscsi盘&#xff0c;需要先将所有相关会话退出使用该iscsi盘。 检查发现存在多个系统用户登录的情况。 二、问题 无法使用kill -9删除linux会话&#xff0c;提示信息为“-bash: kill: (16680) - Operation not…

开发利器 - docker 安装运行 mysql

本文选择安装的mysql版本为5.7 &#xff0c;安装环境 mac 1、查看镜像是否存在 docker search mysql:5.7 2、拉取镜像 docker pull mysql:5.7 3、运行镜像 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORDroot1234 -d mysql:5.7 --name&#xff1a;指定容器…

[AI]-(第1期):OpenAI-API调用

文章目录 一、OpenAI API中使用GPT-3.5-turbo模型充值方式使用模型计费方式价格说明相关限制和条款 二、接入一个OpenAI API流程1. 获取OpenAI API 密钥2. 集成ChatGPT到小程序3. 处理用户输入4. 调用OpenAI API5. 返回回复至小程序6. 持续优化7. Postman请求示例 三、通用AI客…

2024最新洗地机推荐,洗地机怎么选?热门品牌哪个最好用?

在现代生活中&#xff0c;忙碌的日常让家庭清洁变得更加繁重和耗时。然而&#xff0c;洗地机的引入彻底改变了这一状况。凭借其强大的清洁效果和简便的使用方式&#xff0c;洗地机能够迅速清除地面上的各种污垢&#xff0c;使清洁工作变得轻松自如。正因为如此&#xff0c;洗地…

windows编译opencv4.9

opencv很多人在windows上编译感觉特别麻烦&#xff0c;没有linux下方便&#xff0c;设定以下三点&#xff0c;我们几乎会无障碍。 1 安装cuda&#xff0c;cudnn 安装好cuda&#xff0c;cudnn&#xff0c;把cudnn的头文件&#xff0c;库等等拷贝到cuda的安装目录下面&#xff…

抖音电商发展受限,视频号反而成了短视频电商风口?这是为什么?

哈喽~我是电商月月 抖音小店发展的如火如荼间&#xff0c;视频号也正式推出了自己的电商平台 视频号小店的推出&#xff0c;引的众多商家讨论 很多人都觉得视频号的流量比不过抖音&#xff0c;玩互联网的人群【年轻群体】都集中在抖音上了&#xff0c;有抖音在&#xff0c;视…

惠普打印机无线网络连接设置

休息一下&#xff0c;灌个水。这次没多少内容&#xff0c;具体步骤惠普官网上都有&#xff0c;唯一增加的是对安装过程中踩的坑做了一个说明。 一&#xff0e;打印机无线网络连接设置步骤 惠普打印机设置无线网络连接&#xff0c;共16个步骤。 1. 在电脑上打开任意浏览器&am…

k8s证书续期

证书即将到期了如何进行证书续签 k8s版本V1.23.6 1.查看证书期限 kubeadm certs check-expiration如果证书即将到期&#xff0c;此处的天数应该是几天&#xff0c;在过期之前进行续期&#xff0c;保证集群的可用 2. 备份证书 避免出现问题可以回退 cp -r /etc/kubernetes …

FreeRTOS消息队列queue.c文件详解

消息队列的作用 消息队列主要用来传递消息&#xff0c;可以在任务与任务之间、中断与任务之间传递消息。 传递消息是通过复制的形式&#xff0c;发送方发送时需要不断复制&#xff0c;接收方接收时也需要不断复制。虽然会有内存资源的浪费&#xff0c;但是可以保证安全。 假…