机器学习之预测股票价格模型---学习笔记(获取历史行情数据、数据归一化、正则化处理)

本文是关于使用机器学习预测股票价格的学习笔记,首先介绍了如何获取历史行情数据,接着详细阐述了数据的归一化和正则化处理过程,以提升模型的预测性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、获取历史行情数据

import tushare as ts
df=ts.get_hist_data('600999',start='2016-06-15',end='2018-03-07')
dd=df[['open','high','low','close']]
df 

可以得到如下结果:


二、数据归一化处理

    data_all = np.array(df).astype(float)
    scaler = MinMaxScaler()
    data_all = scaler.fit_transform(data_all)
scaler

MinMaxScaler(copy=True, feature_range=(0, 1))


scaler = MinMaxScaler(copy=True,feature_range=(-1,1))
scaler.fit_transform([1,2,3,4,5,6,7])
array([-1.        , -0.66666667, -0.33333333,  0.        ,  0.33333333,

        0.66666667,

### Transformer用于股价预测模型实现 在应用Transformer模型股票价格预测的任务中,该方法展示了其独特的优势以及一些局限性[^1]。具体而言,在构建此类模型时,通常会采用预训练加微调的方式或者直接针对特定市场的历史数据进行端到端的学习。 对于具体的实现细节方面: - **输入处理**:为了适应时间序列特性,可以将每日开盘价、收盘价等多个特征组合成向量作为单个时刻点的数据表示;同时考虑到长期依赖关系的重要性,还可以引入技术指标如移动平均线等辅助信息。 - **编码器结构设计**:不同于自然语言处理场景下的词嵌入层,这里可能更倾向于使用位置编码来保留原始数值大小的信息,并且允许网络更好地捕捉不同时间段内的模式变化规律。 - **解码机制简化**:由于目标是回归而非分类任务,因此不需要复杂的解码过程,可以直接连接全连接层输出未来某一时段的价格估计值。 此外,有研究者分享了一个基于PyTorch框架的具体实例[^3],其中包含了完整的代码片段用于加载最优模型参数并测试最终的表现情况。此项目不仅实现了基本的功能模块搭建,而且也关注到了评价体系的选择——采用了MAE(Mean Absolute Error)、RMSE(Root Mean Squared Error)及PCC(Pearson Correlation Coefficient)等多种量化标准来进行综合考量。 值得注意的是,尽管上述工作取得了一定成果,但在实际操作过程中仍需注意超参数调整等问题以进一步提升性能表现。 ```python import torch from transformers import * def load_best_model(path): model = YourCustomizedModelClass() # 自定义模型类名替换此处 checkpoint = torch.load(path) model.load_state_dict(checkpoint['model_state_dict']) return model.eval() # 假设已经准备好验证集加载器val_loader和其他必要变量min_val,max_val best_trained_model = load_best_model('path_to_your_saved_checkpoint') metrics_results = test_model(best_trained_model, val_loader, min_val, max_val) print(f'Evaluation Results on Test Set:\n{metrics_results}') ``` #### 模型优势与挑战 虽然Transformers能够有效建模长时间跨度内的复杂动态关联,但也存在过拟合风险较高、计算资源消耗较大等特点。为此,探索更加高效的架构优化方案成为当前的研究热点之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值