当前位置: 首页 > news >正文

【小白量化智能体】应用6:根据通达信指标等生成机器学习Python程序

【小白量化智能体】应用6:根据通达信指标等生成机器学习Python程序
【小白量化智能体】是指能够自主或半自主地通过与环境的交互来实现目标或任务的计算实体。智能体技术是一个百科全书,又融合了人工智能、计算机科学、心理学和经济学等多个领域的知识,能够在复杂环境中自主决策和行动的实体。能够实现量化投资的各方面应用,例如自动设计指标,自动编写Python自动交易策略等等。
【小白量化智能体】能够通过中文描述,转化为指标公式和Python程序,以及生成机器学习程序。
如果自己不会写Python策略,去定做一个指标公式是需要3位数,定做一个策略需要花费4位数。花钱是次要的,你能保证你的技术公式和策略是100%准确吗?
大家知道,失败是成功之母,我相信你的努力尝试100次失败后,最终会做出成功的策略。问题是你有100个4位数的开发资金吗?
【小白量化智能体】能够1分钟内写出交易指标公式,1秒钟生成各种Python策略。每天可以生成无数个策略,开发成本就是电费。
我们下面给大家介绍根据通达信公式并生成机器学习Python程序的过程。
一、通达信指标公式生成机器学习Python程序
打开小白量化智能体,点按钮【机器学习】:

在这里插入图片描述
在弹出窗口中选择一个机器学习算法。
在这里插入图片描述
然后输入一个指标公式,点【生成Python代码】。
在这里插入图片描述
自动把指标公式作为分析因子生成一个机器学习Python代码。

# 决策树算法
# 生成时间:2025年07月22日 11:04:08
gs='''
DIF:EMA(CLOSE,12)-EMA(CLOSE,26);
DEA:EMA(DIF,9);
MACD:(DIF-DEA)*2;
ENTERLONG:CROSS(DIF,DEA);
EXITLONG:CROSS(DEA,DIF);
'''
import os,sys
sys.path.append(os.path.abspath('.'))
sys.path.append(os.path.abspath('..'))
import math,joblib
import datetime,time
import pandas as pd  
import numpy  as np
import matplotlib.pyplot as plt
from HP_formula import *  #小白量化仿通达信公式函数库
import HP_tdx as htdx#小白通达信行情库 
import HP_formula as hgs  #小白通达信公式库
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_errorplt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号tdxapi=htdx.TdxInit(ip='183.60.224.178',port=7709)#(nCategory, nMarket, sStockCode, nStart, nCount) 
#获取市场内指定范围的证券K 线, 
#指定开始位置和指定K 线数量,指定数量最大值为800。 
#参数: 
#nCategory -> K 线种类 
#0 5 分钟K 线 
#1 15 分钟K 线 
#2 30 分钟K 线 
#3 1 小时K 线 
#4 日K 线 
#5 周K 线 
#6 月K 线 
#7 1 分钟 
#8 1 分钟K 线 
#9 日K 线 
#10 季K 线 
#11 年K 线 
#nMarket -> 市场代码0:深圳,1:上海 
#sStockCode -> 证券代码; 
#nStart -> 指定的范围开始位置; 
#nCount -> 用户要请求的K 线数目,最大值为800。
m=0
code='000002'
today=time.strftime('%Y-%m-%d',time.localtime(time.time()))
df=htdx.get_bars(nCategory=4,nMarket =m,code=code,start='1991-01-01',end=today)#小白数据规格化
mydf=initmydf(df)  ##初始化mydf表
mydf=mydf.reset_index(level=None,drop=True,col_level=0,col_fill='')
C=CLOSE=mydf['close']
L=LOW=mydf['low']
H=HIGH=mydf['high']
O=OPEN=mydf['open']
V=VOL=mydf['volume']
from HP_formula import *   #小白股票指标公式函数库tgs1=hgs.Tdxgs()
tgs1.loaddf(mydf)
mydf=tgs1.rungs(gs)mydf['ZF']=(C-REF(C,1))/(REF(C,1)+0.000000001)  #涨幅
mydf['label']=REF(mydf['ZF'],-1)  #明日涨幅## 数据整理
mydf.dropna(inplace=True)  ##删除无效数据
mydf=mydf.reset_index(level=None,drop=True,col_level=0,col_fill='')
print(mydf)
#mydf.to_csv('ls.csv' , encoding= 'gbk')
# 将日期时间列转换为数值类型
for col in ['datetime', 'date', 'date2']:mydf[col] = pd.to_datetime(mydf[col]).astype('int64')# 提取特征和目标变量
X = mydf.drop([ 'label'], axis=1)
y = mydf['label']# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)##################################################
from sklearn.tree import DecisionTreeRegressor
#构建决策树回归器
clf = DecisionTreeRegressor()# 在训练集上训练模型
clf.fit(X_train, y_train)# 在测试集上进行预测
y_pred = clf.predict(X_test)# 计算模型的均方误差
mse = mean_squared_error(y_test, y_pred)
print(f'模型的均方误差:{mse}')#print(list(y_test)[-5:],'\n', list(y_pred)[-5:])## 保存模型
## 模型和数据文件路径
MODEL_PATH = 'model.pkl'
joblib.dump(clf, MODEL_PATH)
print(f'模型已保存到: {MODEL_PATH}')

二、在《小白量化智能体》软件中运行程序
在这里插入图片描述
机器学习的模型及结果保存到文件 'model.pkl’中。

三、在用策略中使用机器学习模型
如果机器学习预测有效,可以在策略中直接使用训练好的机器模型数据,不用重新进行机器学习。下面是使用训练好的机器模型数据的代码。

## 加载模型
clf2 = joblib.load(MODEL_PATH)
print(f'模型已从 {MODEL_PATH} 加载')# 在训练集上训练模型
clf2.fit(X_train, y_train)# 在测试集上进行预测
y_pred = clf2.predict(X_test)# 计算模型的均方误差
mse = mean_squared_error(y_test, y_pred)
print(f'模型的均方误差:{mse}')

上面给出了自动生成机器学习Python程序的示例。
我们可以尝试使用更多的因子,更多的数据进行训练。
也可以选择不同的机器学习模型,实现自己的目的。
《小白量化智能体》相当一位计算机本科生免费帮你写指标公式,免费写策略,辅助你做机器学习、深度学习量化研究。
本身是支持中文Python语法和西文Python语法的集成开发工具,适合7岁-70岁人都适合学习中文Python编程。

今天的文章先写到这里,欢迎继续关注我的博客。后面我还介绍更多的【小白量化智能体】开发Python策略的知识。
超越自己是我的每一步!我的进步就是你的进步!

http://www.dtcms.com/a/292976.html

相关文章:

  • A316-LS-MIC-V2:USB AI直播麦克风评估板技术解析
  • Linux——进程间通信,匿名管道,进程池
  • Spring AI 系列之二十 - Hugging Face 集成
  • 轩辕杯2025 Pwn baby_heap WP(house_of_apple2)
  • FFMPEG 解码流程 硬解码
  • 从零构建实时通信引擎:Freeswitch源码编译与深度优化指南
  • netty的编解码器,以及内置的编解码器
  • Linux系统权限全面解析:掌握你的数字王国钥匙
  • Python 链接各种中间件[Mysql\redis\mssql\tdengine]
  • 数据结构01:链表
  • FashionAI / 智尚衣橱 / TryFit / 智能时尚搭配平台
  • 面试150 N皇后Ⅱ
  • Docker环境搭建RabbitMq集群详解
  • 【CAN】2.帧格式
  • ReasonFlux:基于思维模板与分层强化学习的高效推理新范式
  • Python接口自动化实战 ( 第一阶段) - 封装接口请求类和异常处理
  • Ubuntu 虚拟机配置 与Windows互传文件
  • react19相关问题和解答
  • 【技术新闻】OpenAI发布GPT-5,AI编程助手迎来革命性突破
  • React集成百度【BMap Draw】教程(001):实现距离测量和面积测量
  • dubbo源码分析之请求调用异步化原理
  • Pandas核心数据结构详解
  • 第3章通用的服务可用性治理手段——3.2 重试
  • Kotlin 作用域函数 let 的实现原理
  • 大疆视觉算法面试30问全景精解
  • 基于Java+MySQL实现(Web)文件共享管理系统(仿照百度文库)
  • Java自动拆箱机制
  • 云祺容灾备份系统阿里云对象存储备份与恢复实操手册
  • List<UserInfo> list = new ArrayList<>();为什么要这样创建数组?
  • 智能文本抽取在法院卷宗管理应用剖析