小白量化《穿云箭集群量化》(2)量化策略编写(1)

2024-01-10 01:59

本文主要是介绍小白量化《穿云箭集群量化》(2)量化策略编写(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

小白量化《穿云箭集群量化》(2)量化策略编写(1)
穿云箭集群量化平台本身就是Python的IDE,可以不用PyCharm、Spyder、Vs CODE等开发工具,可以学习和编写运行Python代码及程序。支持各种源码级别的开源量化平台,以及数据源。
穿云箭集群量化采用中文关键字和中文变量编写Python程序和策略。
编辑器操作快捷键
shift+Tab 增加4个空格
Ctrl+Tab 减少4个空格
alt+# 增加#号
alt+~ 减少#号
alt+1 减少4个空格
alt+2 增加4个空格
alt+3 增加#号
alt+4 减少#号
alt+5 开关弹出提示窗口
alt+6 查找/替换
alt+7 单色
alt+8 彩色
alt+9 中
alt+0 英
alt+ - 字缩小
alt+ + 字放大
穿云箭集群量化

支持各种金融模块,例如TA-LIB金融库。同时支持大智慧、通达信、同花顺、东方财富等股票指标公式和文化财经麦语言指标公式系统,并支持多因子指标公式系统。多因子指标公式系统能同时对数千只股票瞬间同步计算,并能获取指标值排序功能。支持Alpha101等自编因子公式,任意创造新的因子公式。
在这里插入图片描述
穿云煎量化策略开始,必须导入下列模块,其他模块根据用户需要增加。

策略名='回测_MACD自动交易'
import pandas as pd
import time
import HP_tdx as htdx   #小白量化行情模块
import HP_global as hg   #建立高级全局数据域hg
from HP_formula import *  #小白量化公式模块
from HP_factor import *  #小白量化因子公式及Alpha公式模块
import HP_formula as gs  #小白量化公式模块
import HP_quant as hpq   #穿云箭量化模块
from HP_quant import *  #穿云箭量化模块

量化策略单线程运行流程,见下图。
在这里插入图片描述
量化策略多线程运行流程,见下图。
在这里插入图片描述
穿云箭量化平台是本地化平台,平台以小白量化一代和小白量化二代为金融模块,加自研很多扩展模块等,由自研中文Python实时控制研究学习平台的中文Python IDE构成。
我们不提供数据,但是支持用户爬虫采集数据,以及通过第三方提供数据。软件平台服务器只用于正式软件认证,不会获取用户的任何数据。
软件委托,用户可以采用券商提供交易API,或模拟键盘鼠标操作方式,实现自动交易。
软件可以借用小白量化二代提供的实时行情库获取行情,以及EASYTRADER进行模拟和实盘交易。
量化平台的构成是以Python中文IDE和小白量化金融模块,通过Tkiner GUI设计的软件系统。
一般用户账户信息在context中,data是软件利用小白量化实时行情准备好的实时数据,
用户可直接使用其中的行情数据。
如果用户不使用行情数据,可以关闭行情采集功能。需要用户自主获取行数据,任何方式都允许获取数据,例如爬虫网站,外挂其他行情软件采集行情。此时,用户需要增加data数据维护和更新程序,确保策略在运行时,有最新实时行情数据可用。
initialize函数是用户在策略运行初始化期间的函数,策略根据其中用户设置进行策
略初始化。例如设置股票池,设置佣金,设置用户账户,设置行情源运行模式,用户不
设置时,会采用默认方式初始化策略,软件设置永远以用户策略设置优先。
例如:用户不设置股票池,会使用软件窗口中导入的股票池。
在initialize函数中,可以设置行情服务器地址,委托功能初始化,函数最后部分可
以进行选股生成股票池功能。

def initialize(context):#context.istest=True    context.zh=''      #账户context.zhlx='模拟'   #账户类型,2个汉字context.firstcash=200000.00  #初始现金context.cash=context.firstcash   #现金context.portfolio.available_cash=context.firstcash  #可用现金set_maxdays(365) #设置行情K线数量,默认20.       # 设置我们要操作的股票池g.stocks=hpq.get_universe()  #获取软件穿口上股票池hpq.log.info('----策略环境信息-----')print('量化模块版本: ',hpq.ver)print('量化模块最后修改日期: ',hpq.mdate)print('svrip: ',hpq.svrip)print('svrport: ',hpq.svrport)print('\n----开始运行策略-----\n')print('策略名:'+策略名)qhcsj2=time.strftime('%Y%m%d %H:%M:%S',time.localtime(time.time()))print('开始运行时间:'+qhcsj2)# 设定指数为基准set_benchmark((1,'000001'))# 开启动态复权模式(真实价格)set_option('use_real_price', True)set_times(25)  #设置多少圈读一次持仓#pop_universe([(1,'600861'),(0,'000517')])  #需要删除的股票代码池 hg.seemsg=True  #是否允许输出内部信息g.zzs=-0.05  #止损幅度hg.hqsl=2  #行情源数量

上面是策略初始化函数介绍。
下篇介绍运行策略函数,技术分析主要采用仿股票公式写算法,这样简洁,与股票软件计算的数值一致 并且k件计算买卖点。
好了,欢迎继续关注我的博客。

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

这篇关于小白量化《穿云箭集群量化》(2)量化策略编写(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/589172

相关文章

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

基于.NET编写工具类解决JSON乱码问题

《基于.NET编写工具类解决JSON乱码问题》在开发过程中,我们经常会遇到JSON数据处理的问题,尤其是在数据传输和解析过程中,很容易出现编码错误导致的乱码问题,下面我们就来编写一个.NET工具类来解... 目录问题背景核心原理工具类实现使用示例总结在开发过程中,我们经常会遇到jsON数据处理的问题,尤其是

Deepseek使用指南与提问优化策略方式

《Deepseek使用指南与提问优化策略方式》本文介绍了DeepSeek语义搜索引擎的核心功能、集成方法及优化提问策略,通过自然语言处理和机器学习提供精准搜索结果,适用于智能客服、知识库检索等领域... 目录序言1. DeepSeek 概述2. DeepSeek 的集成与使用2.1 DeepSeek API

Redis的数据过期策略和数据淘汰策略

《Redis的数据过期策略和数据淘汰策略》本文主要介绍了Redis的数据过期策略和数据淘汰策略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录一、数据过期策略1、惰性删除2、定期删除二、数据淘汰策略1、数据淘汰策略概念2、8种数据淘汰策略

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ