量化开发学习入门-概念篇
1.网格交易法
网格交易法(Grid Trading)是一种基于价格波动和区间震荡的交易策略。它适用于市场处于横盘或震荡的情况下。
网格交易法的基本思想是在设定的价格区间内均匀地建立多个买入和卖出水平(网格),并在价格上下波动时进行交易,以获得利润。下面是网格交易法的主要步骤:
-
确定价格区间:选择一个合适的价格区间作为网格的操作范围。这个价格区间可以根据历史价格走势、支撑阻力位、技术指标等进行确定。
-
建立网格:在价格区间内,按照设定的间隔,建立多个买入和卖出水平(网格)。买入水平通常低于当前价格,卖出水平通常高于当前价格。
-
下单执行:当价格触及网格订单设定的价格时,执行相应的买入或卖出操作。例如,当价格下跌到买入水平时,执行买入操作;当价格上涨到卖出水平时,执行卖出操作。
-
止盈和止损:为了控制风险和保护利润,可以设置止盈和止损价格。当价格达到设定的止盈价格时,平仓并获利;当价格达到设定的止损价格时,平仓并承担损失。
-
网格调整:根据市场走势和价格波动,可以根据需要调整网格的间隔和水平,以适应新的市场条件。
网格交易法的优势在于在震荡市场中能够频繁地进行交易并获得利润。然而,需要注意的是,在趋势市场中,网格交易法可能会导致持仓的不断累加,从而增加风险。因此,在使用网格交易法时,投资者应根据市场状况和个人风险承受能力做出谨慎的决策,并合理设置止盈和止损措施。另外,投资者应密切关注市场的走势和价格变动,及时作出调整和退出策略。
网格策略主要可以分为三种:做多、做空、和中性
2.经典日内策略
2.1 DualThrust策略
DualThrust策略(Dual Thrust Strategy)是一种市场趋势跟踪策略,主要用于短期交易和日内交易。它由Michael Chalek开发,并在他的著作《The New Technical Trader》中介绍。
该策略基于当日最高价和最低价来确定买入和卖出的触发点。它的核心思想是,在趋势行情中,价格往往有朝向一个方向的倾向,而非趋势行情则可能呈现横盘震荡。
下面是DualThrust策略的基本步骤:
-
确定参数:设定两个参数,即K值和N值。K值和N值用于计算当日的买入和卖出触发点。
-
计算触发点:根据以下公式计算当日的买入和卖出触发点:
- 买入触发点 = 最高价 - K * N
- 卖出触发点 = 最低价 + K * N
其中,K值是一个比例系数,N值是一个价格波动度的衡量指标,例如,可以使用当日的最高价和最低价之差。
-
确定买入和卖出信号:如果当日的价格超过买入触发点,则产生买入信号;如果当日的价格低于卖出触发点,则产生卖出信号。
-
设置止损和止盈点:根据个人风险承受能力和市场情况,设置买入和卖出交易的止损和止盈点。
需要注意的是,DualThrust策略是一种趋势跟踪策略,依赖于市场趋势的发展。在使用该策略时,投资者需要密切关注市场的走势,并合理设置参数以及止损和止盈点。此外,根据市场的变化和个人的交易风格,可以对策略进行适当的调整和优化。
2.2 R-breaker策略
R-breaker策略是一种经典的日内交易策略,由Turtle交易系统的发明人Richard Dennis和William Eckhardt提出。该策略旨在利用市场的突破和反转进行交易。
R-breaker策略基于价格突破某一关键点位时的动力,结合波动性和移动平均线的概念,确定买入和卖出的触发点。
以下是R-breaker策略的基本原则:
-
计算关键点位:使用一定的统计方法,计算前一个交易日的最高价、最低价和收盘价来确定关键点位。计算结果包括买入触发点(Buy Break Point)、卖出触发点(Sell Break Point)、买入止损点(Buy Stop Point)和卖出止损点(Sell Stop Point)。
-
判断买入和卖出信号:当市场价格突破买入触发点时,产生买入信号;当市场价格突破卖出触发点时,产生卖出信号。
-
设置止损和止盈点:根据策略规则,设置买入和卖出交易的止损和止盈点。通常,止损点位设置在买入止损点和卖出止损点之间的合理范围内。
-
交易管理:根据市场情况和个人风险承受能力,进行交易的管理和调整。例如,可以设置规模因子(Scale Factor)来调整头寸规模,以控制风险。
需要注意的是,R-breaker策略是一种日内交易策略,适用于高流动性的市场,如期货或外汇市场。在使用该策略时,投资者需要密切关注市场的波动性和价格变动,并合理设置触发点、止损和止盈点。同时,合理的风险管理和资金管理也是成功交易的关键。
2.3 ATR策略
ATR策略是一种基于平均真实波幅(Average True Range,ATR)指标的交易策略。ATR是一种测量价格波动性的技术指标,通常被用于确定价格波动的预期范围。
以下是基于ATR指标的交易策略的一般步骤:
-
计算ATR指标:首先,计算一段时间(如14天)内的每日价格波动幅度的平均值,这就是ATR指标。可以使用各种软件或工具来计算ATR值。
-
确定入场条件:根据ATR指标和个人交易策略,确定进场条件。例如,当价格突破之前的高点(或低点)加上ATR的一定倍数时,产生买入(或卖出)信号。
-
设置止损和止盈点:根据个人风险承受能力和市场情况,设置买入和卖出交易的止损和止盈点。一种常见的做法是将止损点位设置在进场点的一定倍数的ATR距离之外,以限制潜在损失。
-
交易管理:根据市场动态和个人的交易风格,进行交易管理和调整。例如,随着价格朝着有利方向移动,可以逐步调整止损点位,以保护利润。
ATR策略是一种通用的交易策略,适用于各种市场和交易品种。它可以帮助投资者判断当前市场的波动范围,并根据这个范围做出交易决策。
2.4 菲阿里四价策略
菲阿里四价策略是一种比较简单的趋势型日内交易策略。昨天高点、昨天低点、昨日收盘价、今天开盘价,可并称为菲阿里四价。
菲阿里四价是日内突破策略,所以每日收盘之前都需要进行平仓。
该策略的上下轨以及用法如下所示:
1.上轨=昨日高点;
2. 下轨=昨日低点;
昨日高点和昨日低点可以视为近期的一个波动范围,该范围的存在一定程度是一种压力 线,只有足够的价格上涨或者下跌才会突破前期的高点或者低点。因此突破位置是一个比较好的入场信号,如果突破该波动范围,则证明动能较大,后续走势强度维持较强的概率比较高,因此该策略采用以下开仓方式:
- 当价格突破上轨,买入开仓;
- 当价格跌穿下轨,卖出开仓。
策略在开仓之后可能面临假突破的问题,因为该价位存在很大的阻力,可能是暂时性的突破,随机回落,因此具体策略使用之中可以设置一些过滤条件来剔除假突破的情况。 这样使得策略的胜率变大。开仓之后的止损止盈根据具体环境具体确定。
2.5 空中花园策略
空中花园比较看重开盘突破。开盘时的高开或者低开均说明有大的利好或者利空使得开盘大幅远离昨天的收盘价。开盘突破,是最快的一种入场方式。当然出错的概率也最高。因此为了提高策略的胜率,空中花园策略加了额外的条件,也就是开盘要大幅高开或者低开,形成一个空窗,因此顾 名思义称为空中花园,然后再根据是否突破上下轨来进行开仓判断。这样一来,策略的胜率将大大提高,不过由于对高开或者低开的幅度要求过高,一般是超过1%,因此使得策略的交易次数可能相对其它策略而言要偏低一些。开盘第一根 K 线是收阳还是收阴,是判断日内趋势可能运动方向的标准。在当天开盘高开或低开时更有效。
空中花园策略主要特点:
日内交易策略,当日收盘平仓;
空中花园在当天高开或低开时使用,即当开盘价>=昨天收盘价*1.01 或开盘价<=昨天收盘价x0.99 时;
上轨=第一根 K 线的最高价;
下轨=第一根 K 线的最低价;
当价格突破上轨,买入开仓;
当价格跌穿下轨,卖出开仓。
实际上是一种当天大幅高开(>1%),搏高开低走;反之,大幅低开(<1%),博低开高走。
3.经典跨日策略
3.1均线策略
均线策略是一种既可以简单又可以复杂的策略,想要简单可以只用一条短均线突破长 均线作为买卖点,想要复杂可以叠加多周期均线或者多空头排列,我们在此仅以收盘价突 破 N 日均线作为策略基础,具体策略设定如下:
1.上轨 = N 日均线 ×(1+b%)
2.下轨 = N 日均线 ×(1-b%)
3.收盘价突破上轨下一交易日做多
4.收盘价突破下轨下一交易日做空
5.收盘价回复到均线位置平仓
6.单笔交易亏损 1%下一交易日平仓
3.2 布林线
布林线策略是一种基于布林带指标的交易策略,旨在通过捕捉价格波动和价格回归至中轨来寻找买入和卖出的机会。
以下是布林线策略的一般步骤:
-
计算布林带指标:计算移动平均线(通常是简单移动平均线,SMA)和上下标准差线。一般情况下,计算中轨(移动平均线),上轨(中轨加上一定倍数的标准差)和下轨(中轨减去一定倍数的标准差)。
-
判断趋势:观察价格走势,确定市场是处于上涨趋势、下跌趋势还是横盘震荡状态。
-
进场信号:当价格从下方突破下轨进入区间时,可能产生买入信号;当价格从上方突破上轨进入区间时,可能产生卖出信号。可以结合其他技术指标或价格行为形态来过滤交易信号。
-
设置止损和止盈点:根据个人风险承受能力和市场情况,设置买入和卖出交易的止损和止盈点。一种常见的做法是将止损设置在进场点的另一侧轨道线上,而止盈可以是固定目标或者结合价格的波动调整。
-
交易管理:针对盈利的交易,可以逐步调整止损点位,以保护部分利润。同时,密切关注市场动态和交易信号,及时调整和管理仓位。
3.3 ATR通道
ATR通道策略是一种基于平均真实范围(Average True Range,ATR)指标的交易策略。ATR是一种度量资产价格波动性的指标,它通过考虑每一天的最高价和最低价以及前一天的收盘价,计算出一段时间内的平均价格波动范围。
以下是ATR通道策略的一般步骤:
-
计算ATR指标:使用ATR指标需要指定一个特定的时间周期,常见的是使用14个交易日的时间周期。通过计算最高价和最低价之差以及前一天收盘价与最高价或最低价之差的较大值,得出每个时间周期的平均真实范围。
-
确定通道宽度:根据个人的偏好和市场情况,可以选择在ATR值上增加或减少一个固定的倍数,以确定上轨和下轨的位置。这个倍数通常根据具体的交易品种和风险偏好来确定。
-
进场信号:当价格突破上轨进入通道区域时,可能产生卖出信号;当价格跌破下轨进入通道区域时,可能产生买入信号。
-
设置止损和止盈:根据个人的风险承受能力和市场情况,设置买入和卖出交易的止损和止盈点。一种常见的方法是,将止损设置在进场点的另一边轨道线上。
-
交易管理:随着价格波动的变化,可以根据市场动态调整止损和止盈的位置,以保护利润或减小亏损。
3.4 MACD策略
MACD策略是一种基于移动平均收敛/发散指标(Moving Average Convergence Divergence,MACD)的交易策略。MACD是一种用于分析股票或其他资产价格趋势和动能的技术指标,在技术分析中被广泛使用。
以下是MACD策略的一般步骤:
-
计算MACD指标:MACD由两个移动平均线(快线和慢线)及其差值(柱状线)组成。通常使用12天的短期指数移动平均线(EMA)减去26天的长期指数移动平均线(EMA)得到快线,然后再计算出快线与9天指数移动平均线(EMA)的差值作为柱状线。
-
判断趋势:观察MACD的快线和慢线以及柱状线的走势,判断市场是处于上涨趋势、下跌趋势还是横盘震荡状态。
-
信号交叉:当MACD快线向上穿越慢线时,产生买入信号;当MACD快线向下穿越慢线时,产生卖出信号。
-
设置止损和止盈点:根据个人的风险承受能力和市场情况,设置买入和卖出交易的止损和止盈点。一种常见的方法是,在进场点的另一侧快线和慢线交叉的位置上设置止损止盈。
-
交易管理:根据市场动态和个人交易风格,进行交易管理和调整。例如,随着价格朝有利方向移动,可以逐步调整止损点位,以保护利润。
相关文章:
量化开发学习入门-概念篇
1.网格交易法 网格交易法(Grid Trading)是一种基于价格波动和区间震荡的交易策略。它适用于市场处于横盘或震荡的情况下。 网格交易法的基本思想是在设定的价格区间内均匀地建立多个买入和卖出水平(网格),并在价格上…...
【草稿】关于文本句子分割(中文+英文)以及向量处理
获取文本 主函数 Main # -*- encoding: utf-8 -*- # Author: SWHL # Contact: liekkaskono163.com from pathlib import Path from typing import Dict, List, Unionimport filetypefrom ..utils import logger from .image_loader import ImageLoader from .office_loader i…...

【瑞吉外卖】所遇问题及解决方法
太菜了实习之余瑞吉外卖补充一下基础知识(,不然真啥也不会了。 请输入正确的手机号! 是因为我测试了我的手机号,爆红,以为方法有错。但其实是前端代码检查手机号是否符合规范的语句有点()啊啊…...
【Hugo入门】基础用法
检查Hugo是否安装 hugo version显示所有可用命令 hugo help显示指定命令的可用子命令,例如查询server的所有子命令 hugo server --help建立你的网站,cd进入你的项目根目录运行 hugo默认发布内容到自动创建的public文件夹。 覆盖hugo或hugo server的默…...

Java实现一个简单的图书管理系统(内有源码)
简介 哈喽哈喽大家好啊,之前作者也是讲了Java不少的知识点了,为了巩固之前的知识点再为了让我们深入Java面向对象这一基本特性,就让我们完成一个图书管理系统的小项目吧。 项目简介:通过管理员和普通用户的两种操作界面࿰…...

网络安全等级保护2.0
等保介绍 信息系统运维安全管理规定(范文)| 资料 等保测评是为了符合国家法律发挥的需求,而不是安全认证(ISO) 一般情况没有高危安全风险一般可以通过,但若发现高位安全风险则一票否决 二级两年一次 三…...

【sql】MongoDB 增删改查 高级用法
【sql】MongoDB 增删改查 高级用法 相关使用文档 MongoDB Query API — MongoDB Manual https://www.mongodb.com/docs/manual/reference/sql-comparison //增 //新增数据2种方式 db.msg.save({"name":"springboot😀"}); db.msg.insert({&qu…...
怎么做才能有效更新和优化产品手册文档
更新和优化产品手册文档是确保用户获得准确和最新信息的重要步骤。如果不及时地更新和优化信息,很容易导致我们的产品有滞后性,不能满足客户最新的需求。所以looklook总结了一些相关内容,以下是一些建议来更新和优化产品手册文档:…...
#P0867. 小武老师的烤全羊
问题描述 小武老师特别喜欢吃烤全羊,小武老师吃烤全羊很特别,为什么特别呢?因为他有 1010 种配料(芥末、孜然等),每种配料可以放 11 到 33 克,任意烤全羊的美味程度为所有配料质量之和。 现在&…...

视频汇聚/视频云存储/视频监控管理平台EasyCVR提升网络稳定小tips来啦!
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...
C 语言学习
数组的指针 在c中,几乎所以使用数组名的表达式中,数组名的值是一个指针常量,也就是数组 第 一个元素的地址。注意这个值是指针常量,不是变量。 int a[10]{ ….....}; int *q; q&a[0] ; <>…...
TCP网络连接异常情况的处理
在网络连接中,经常会出现一些意外情况,导致TCP连接不能正常工作,对于这些意外情况,TCP内部有自己的解决方法 一.进程崩溃 在网络通讯时可能会出现进程突然崩溃的情况,当进程崩溃后进程就没了,就会导致进程…...
单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.10语句
1 表达式语句 表达式语句由表达式加上分号“;”组成。其一般形式为: 表达式; 执行表达式语句就是计算表达式的值。例如 caa; 2 函数调用语句 由函数名、实际参数加上分号“;”组成。其一般形式为: 函数名(实际参数表); 例如 printf(“Hello !”);…...
Windows 通过服务名称搜索软件启动路径启动软件
文章目录 Windows 通过服务名称搜索软件启动路径启动软件 Windows 通过服务名称搜索软件启动路径启动软件 注意:QQ管家和360安全,正常情况下使用 taskkill 无法停止,因为在安全设置中有个“自保护”,正常情况下会默认勾选上&#…...

如何更高效的写出更健全的代码,一篇文章教会你如何拥有一个良好的代码风格
前言:在平常的写代码的过程中,或多或少的遇到很多奇怪的 bug ,尤其是一些大的程序,明明上一部分都是好好的,写下一块的时候突然多几百个 bug 的情况,然后这一块写完了后编译的时候直接傻眼了,看…...

Java如何调用接口API并返回数据(两种方法)
Java如何调用接口API并返回数据(两种方法) java处理请求接口后返回的json数据-直接处理json字符串 处理思路: 将返回的数据接收到一个String对象中(有时候需要自己选择性的取舍接收) 再将string转换为JSONObject对象 …...

极狐GitLab 价值流管理之「总时间图」使用指南
本文来源:about.gitlab.com 作者:Haim Snir 译者:极狐(GitLab) 市场部内容团队 对于软件研发管理者来说,了解在整个研发过程中时间都耗费在了哪些地方,是进行交付价值优化的关键洞察。GitLab / 极狐GitLab 新的价值流分…...

Mybatis入门和环境搭建
文章目录 一. Mybatis的简介1. 什么是ORM?2. 什么是持久层?3. Mybatis的作用 二. Mybatis环境搭建1. 搭建一个数据库2. 创建maven项目并导入相关依赖3. Mybatis相关插件安装4. Mybatis.cfg.xml核心配置文件 三. 基于ssm逆向工程的使用1. 配置generatorConfig.xml2.…...

React 全栈体系(二)
第二章 React面向组件编程 一、基本理解和使用 1. 使用React开发者工具调试 2. 效果 2.1 函数式组件 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>1_函数式组件</title> </head> &l…...

【Linux】socket编程(二)
目录 前言 TCP通信流程 TCP通信的代码实现 tcp_server.hpp编写 tcp_server.cc服务端的编写 tcp_client.cc客户端的编写 整体代码 前言 上一章我们主要讲解了UDP之间的通信,本章我们将来讲述如何使用TCP来进行网络间通信,主要是使用socket API进…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

ETLCloud可能遇到的问题有哪些?常见坑位解析
数据集成平台ETLCloud,主要用于支持数据的抽取(Extract)、转换(Transform)和加载(Load)过程。提供了一个简洁直观的界面,以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...