小白量化《穿云箭集群量化》(5)抄底雷达策略

news2024/9/22 20:35:21

小白量化《穿云箭集群量化》(5)抄底雷达策略
雷达能够提前发现远处敌我动向。雷达是现代战争不可或缺的装备。
证券市场中分三类人,先知先觉者,后知后觉者,不知不觉者。先知先觉者往往是市场主力,他们拥有信息和资金的实力,说能战胜主力,是痴人说梦。后知后觉者是聪明的投资者,他们不想战胜主力,往往判断主力意图,主力吃肉,他们喝汤。不知不觉者往往自认聪明,总想战胜主力,他们关注政治,关注经济,了解上中下游产业,关注各种新科技,低碳经济,新能源,元宇宙等,既劳神,又伤身。就当花钱上了一个全才博士。后知后觉者发现在选股和择时买卖时,发生金叉和死叉信号往往慢半拍。如果能提前发现主力动向,就能提前埋伏买入,等待主力拉升抬轿。
幸好穿云箭量化平台通过大数据分析,能够在价格下跌末端发现主力收集筹码,及时发出抄底雷达信号。只要你选择好的股票池,抄底雷达信号发出后不久,股票价格就会开始上涨,享受主力拉升股价,享受坐轿乐趣,同时你的财富也再增值。
抄底雷达成功率60%以上,下面看看抄底雷达信号。
在这里插入图片描述
在这里插入图片描述
从上图我们可以发现,抄底雷达都在阴线上发出信号。如果抄底失败,可能会造成损失而止损。
因此我们不以信号为买信号,只做先决条件,采用常用KDJ作为买入信号,如果与抄底雷达信号共振,我们就立即买入。下面我们写一个回测策略测试一下回测效果。

策略名='回测_抄底雷达回测'
导入 pandas 命名为 pd
导入 time
导入 HP_tdx 命名为 htdx   #小白量化行情模块
导入 HP_global 命名为 hg   #建立高级全局数据域hg
从 HP_formula 导入 *  #小白量化公式模块
从 HP_factor 导入 *  #小白量化因子公式及Alpha公式模块
导入 HP_factor 命名为 hf #小白量化因子公式及Alpha公式模块
导入 HP_formula 命名为 gs  #小白量化公式模块
导入 HP_quant 命名为 hpq   #穿云箭量化模块
从 HP_quant 导入 *  #穿云箭量化模块
导入 HP_tdxgs 命名为 tgs  #公式运行模块

mygs=tgs.Tdxgs()

函数 初始化(context):
    #context.istest=True    
    context.zh='xiaoba'      #账户
    context.zhlx='回测'   #账户类型,2个汉字
    context.firstcash=1000000.00  #初始现金
    context.cash=context.firstcash
    context.portfolio.available_cash=context.firstcash
    set_maxdays(500)
    # 设置我们要操作的股票池
    g.stocks=hpq.get_universe()
    hpq.log.info('----策略环境信息-----')
    输出('量化模块版本: ',hpq.ver)
    输出('量化模块最后修改日期: ',hpq.mdate)
    输出('svrip: ',hpq.svrip)
    输出('svrport: ',hpq.svrport)
    输出('\n----开始运行策略-----\n')
    输出('策略名:'+策略名)
    qhcsj2=time.strftime('%Y%m%d %H:%M:%S',time.localtime(time.time()))
    输出('开始运行时间:'+qhcsj2)
    # 设定沪深300作为基准
    set_benchmark((1,'000001'))
    # 开启动态复权模式(真实价格)
    set_option('use_real_price',)
    hg.seemsg=假
    htdx.TdxInit(ip='139.159.239.163',port=7709)
    hg.hqsl=1 #行情数量
    #hg.sdhq=1 #闪电行情
    g.MAX=50
    g.hd=0.003 #滑点
    g.zzs=-0.05  #止损
    g.amount=500 #买入数量    
    g.gs='''{自编指标公式,最好用专家系统公式}
N:=9;
M1:=3;
M2:=3;
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,M1,1);
D:SMA(K,M2,1);
J:3*K-2*D;
BUY:=IF(J>REF(J,1),1,0)*IF(REF(J,1)<REF(J,2),1,0);
'''
##中文Python学习交流群934165481
##微信电话18578755056
# 每个单位时间(如果按天回测,则每天调用一次,如果按分钟,则每分钟调用一次)调用一次
函数 盘中运行(context, data):
    序列循环 m,security 在其中 context.universe[0]:
        df=data[security].df
        如果 len(df)<1:
            继续
        price = data[security].close
        close=price
        high= data[security].high
        low= data[security].low
        pre_close=data[security].pre_close   #前收盘
        #value = context.portfolio.positions[security].value
        acc_avg_cost  = context.portfolio.positions[security].acc_avg_cost #买入成本价 
        amos=context.portfolio.positions[security].closeable_amount  #可卖数量
        amos2=context.portfolio.positions[security].total_amount   #总数量

        #如果可卖数量大于0,做止盈和止损处理
        如果 amos>0:
            #响尾蛇导弹-自动回撤止盈和自动止损功能
            sell=hf.autosell(security,price=price,cost=acc_avg_cost,withdraw=0.3,stoploss=-0.05,minp=0.01,t=999) #追踪收盘价
            如果 sell==2:  #止损
                p5=round(price*(1-g.hd),2)
                x=order_target(security,0,p=p5)
                hpq.log.info(context.current_dt+  " 止损卖出: %s ,数量:%d,卖出价格:%.2f,成交资金:%0.2f"%(security,amos,p5,amos*p5))

            否则如果 sell==1: #止盈
                p5=round(price*(1-g.hd),2)
                x=order_target(security,0,p=p5)
                hpq.log.info(context.current_dt+  " 止盈卖出: %s ,数量:%d,卖出价格:%.2f,成交资金:%0.2f"%(security,amos,p5,amos*p5))
            继续
        否则如果 amos2>0 : #有持仓
            继续
        mydf=gs.initmydf(df)  ##初始化mydf表
        mygs.loaddf(mydf)  #加载行情数据
        mydf=mygs.execgs(g.gs)  #运行指标公式
        mydf['cdld']=hf.cdld(mydf)  ##抄底雷达
        mydf['cdld2']=COUNT(mydf['cdld'],20)  #过去20周期内有信号发出

        如果 mydf['BUY'].iloc[-1]>0 并且 (amos2==0 或者 amos==0) 并且 mydf['cdld2'].iloc[-1]>0:
            price2=price*(1+g.hd)
            x=order_target(security,g.amount,p=price2)
            如果 x !=:
                hpq.log.info(context.current_dt+" 买入: %s ,数量:%d,买入价格:%.2f,成交资金:%0.2f"%(security,x.amount,price,x.amount*price))

在这里插入图片描述
上图是回测结果。
理论只要股票池未来有70%股票上涨,策略盈利很容易。用户主要工作是选好的股票池。
中文Python穿云箭量化平台支持中文Python语法,提供了完整的Python股票软件开发源代码。新版本支持自编指标公式脚本编写策略回测,并有一键生成Python交易策略功能,提供多空雷达,抄底雷达,响尾蛇导弹,巡航到导弹等交易技术。提供期货行情,期货CTP接口,提供MT5交易接口,提供miniQMT接口,以及彩票模块。支持问财选股,支持语音报盘,微信通知等。
用户可以根据自己需求设计出满足自己要求的 自动化交易工具。

超越自己是我的每一步!我的进步就是你的进步!

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

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

相关文章

Feign踩坑源码分析 -- 请求参数分号变逗号

一.案例 1.1.Post请求&#xff1a; http://localhost:8250/xx/task/test json格式参数&#xff1a; {"string": "a;b;c;d" } 1.2.controller代码&#xff1a; AutowiredDataSourceClientService dataSourceClientService;RequestMapping("/test"…

《计算机原理》——HelloWorld.cpp如何运行的

学校《计算机原理》开课啦&#xff01;特此开辟专栏&#xff0c;将一些知识作为笔记&#xff0c;记录下来。 前言 本篇博客知识点来源于educoder的相关题目 1. 相关知识 1.1 计算机语言 计算机语言是人与计算机之间通讯的语言&#xff0c;计算机语言包括编写计算机程序的字符…

[MatLab]图像绘制

一、绘制二维图像 1.一张图上绘制一条线 绘制代码如下面所示&#xff1a; x 0:0.01:2*pi; y sin(x); figure %建立幕布 plot(x,y) %绘制图像 %设置图像属性 title(ysin(x)) xlabel(x) ylabel(y)xlim([0 2*pi]) %限制x轴的值域 自定义图线的颜色…

GB28181协议--SIP协议介绍

1、SIP协议简介 SIP&#xff08;Session Initiation Protocol&#xff0c;会话初始协议&#xff09;是一个用于建立、更改和终止多媒体会话的应用层控制协议&#xff0c;其中的会话可以是IP电话、多媒体会话或多媒体会议&#xff08;GB28181安防使用的是SIP协议&#xff09;。S…

lab备考第二步:HCIE-Cloud-Compute-第一题:FusionCompute

第一题 FusionCompute 一、题目介绍 1.1. 扩容CAN节点与对接共享存储&#xff08;必选&#xff09; 题目及【考生提醒关键点】 扩容一台CNA节点&#xff0c;配置管理地址设置为&#xff1a;192.168.100.212。密码设置为&#xff1a;Cloud12#$。【输入之前确认自己的大小写是否…

任务类风险漏洞挖掘思路

任务类风险定义&#xff1a; 大部分游戏都离不开任务&#xff0c;游戏往往也会借助任务&#xff0c;来引导玩家上手&#xff0c;了解游戏背景&#xff0c;增加游戏玩法&#xff0c;提升游戏趣味性。任务就像线索&#xff0c;将游戏的各个章节&#xff0c;各种玩法&#xff0c;…

docker上安装nacos

文章目录一、docker安装nacos简单版1.拉取镜像2、挂载目录&#xff0c;用于映射到容器&#xff0c;目录按自己的情况创建3、mysql新建nacos-config的数据库&#xff0c;并执行脚本 sql脚本地址如下&#xff1a;4、修改配置文件custom.properties5、启动容器6、访问二、docker安…

错误:PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。“+文件路径“的解决方案

最近在使用python进行筛选图片的时候&#xff0c;想到用python里面的os库进行图片的删除。 具体筛选方法就是&#xff0c;删除掉图片长度或宽度小于100像素的图片&#xff0c;示例代码如下所示&#xff1a; for file in os.listdir(img_path):if file .split( . )[ - 1 ] j…

深度强化学习DLR

1 强化学习基础知识 强化学习过程&#xff1a;⾸先环境(Env)会给智能体(Agent)⼀个状态(State)&#xff0c;智能体接收到环境给的观测值之后会做出⼀个动作(Action)&#xff0c;环境接收到智能体给的动作之后会做出⼀系列的反应&#xff0c;例如对这个动作给予⼀个奖励(Reward…

射频功率放大器基于纵向导波的杆状构件腐蚀诊断方法的研究

实验名称&#xff1a;基于纵向导波的杆状构件腐蚀诊断方法研究方向&#xff1a;无损探伤测试设备&#xff1a;信号号发生器、安泰ATA-8202功率放大器、数据采集卡、直流电源、超声探头、钢杆、前置放大器。实验过程&#xff1a;图&#xff1a;试验装置试验装置如图3.2所示。监测…

Android Handler机制(四) Message源码分析

一. 简介 接上一篇文章:Android Handler机制(三) Looper源码分析 ,我们来继续分析一下Message源码 这一系列文章都是为了深入理解Handler机制. Message 作为消息传递的载体&#xff0c;源码主要分为以下 几个部分: 1. 操作数据相关&#xff0c;类似 getter()和 setter()这种…

【JAVASE】注解

文章目录1.概述2.JDK内置注解2.1override注解2.2 Deprecated注解3.元注解4.注解中定义属性4.1 属性value4.2 属性是一个数组5. 反射注解6.注解在开发中的作用1.概述 注解&#xff0c;也叫注释&#xff0c;是一种引用数据类型。编译后也同样生成class字节码文件。 语法 [修饰…

QT获取dll库文件详细信息

一、需求背景获取软件下依赖的dll库的版本信息&#xff0c;如下图所示版本为1.0.7.1018二、实现方法2.1步骤windows下实现&#xff0c;基于version.lib(version.dll)提供的函数获取这些信息首先使用GetFileVersionInfoSizeA(W)获取VersionInfo的大小&#xff0c;申请缓冲区&…

团队API管理工具-YAPI

团队API管理工具-YAPI 推荐一款接口管理平台&#xff0c;操作简单、界面友好、功能丰富、支持markdown语法、可使用Postman导入、Swagger同步数据展示、LDAP、权限管理等功能。 YApi是高效、易用、功能强大的api管理平台&#xff0c;旨在为开发、产品、测试人员提供更优雅的接…

stm32智能家居+微信小程序接收控制

这里写目录标题项目介绍mqtt服务器相关知识![在这里插入图片描述](https://img-blog.csdnimg.cn/9ad065fb8fac48b1b975fc3a48b99763.png)下位机代码项目需要的一些开发工具项目介绍 本项目芯片使用STM32F103ZET6,微信小程序开发使用微信开发者工具。 stm32作为下位机&#xff…

【实现点击下载按钮功能 Objective-C语言】

一、实现点击下载按钮功能, 1.接下来,我们再实现另外一个功能,是什么,点击下载按钮吧: 点击下载按钮,是不是要有效果啊, 就是给大家实现这个功能, 首先,我们要实现单击这个效果,是不是要给按钮注册单击事件吧, 请问,这个按钮在哪里啊,是在控制器里面吗,不是,…

Spark性能优化一 概念篇

&#xff08;一&#xff09;宽依赖和窄依赖 窄依赖(Narrow Dependency)&#xff1a;指父RDD的每个分区只被子RDD的一个分区所使用&#xff0c;例如map、filter等 这些算子一个RDD&#xff0c;对它的父RDD只有简单的一对一的关系&#xff0c;也就是说&#xff0c;RDD的每个part…

Linux 系统 /var/log/journal/ 垃圾日志清理

CentOS系统中有两个日志服务&#xff0c;分别是传统的 rsyslog 和 systemd-journal systemd-journald是一个改进型日志管理服务&#xff0c;可以收集来自内核、系统早期启动阶段的日志、系统守护进程在启动和运行中的标准输出和错误信息&#xff0c;还有syslog的日志。systemd…

datax导入到hive的数据量翻倍

现象 mysql->hive 或者oracle->hdfs 源表数据100w 结果hive表数据200w。 这个现象很容易发生&#xff0c;只要你同一时间调度这个json两次。 原因 "writeMode" : "append", "nonconflict","truncate" * append&#xff…

无线WiFi安全渗透与攻防(二)之打造专属字典

系列文章 无线WiFi安全渗透与攻防(一)之无线安全环境搭建 打造专属字典 什么在破解之前先准备专用字典&#xff0c;因为对于一般家庭来说&#xff0c;常用 一个是预共享密钥PSK&#xff0c;一个是PIN码。 也不是所有的路由都开起了PIN码&#xff0c;一般都会开启域共享密钥…