
金融大模型
文章平均质量分 81
全面深入的内容涵盖:从人工智能基础到实战案例,覆盖人工智能、机器学习和深度学习在金融领域的应用
丰富实战案例:结合实际案例,详细介绍数据预处理、时间序列分析、风险建模、高频交易、情绪分析等各个方面的应用,让理论与实践相结合。
技术栈全覆盖:涵盖深度学习框架、数据处理工具、模型部署与推理技术等
码农三叔
学编程20年,乐于奉献,一往无前
展开
-
从数据集到模型,详解金融大模型FinLLM
☑前沿技术应用:本书介绍了一些前沿的技术和方法,如深度强化学习、情感分析预训练模型(如BERT 和 FinBERT)、区块链技术等,帮助读者了解并掌握最新的金融科技发展趋势,为他们在金融领域的发展提供更广阔的视野和更丰富的工具。☑ 适用性广泛:尽管以Python为主要编程语言,但本书介绍的方法和技术都具有 普适性,适用于金融领域的各个方面,包括但不限于股票市场、期货市场、债券市场、外汇市场等,以及金融机构的风险管理、资产定价、交易策略优化等多个领域。想要了解最新的排行榜数据,请访问排行榜的实时页面。原创 2024-12-25 15:42:49 · 399 阅读 · 1 评论 -
(31-9)使用机器学习预测苹果(AAPL)股票的周收益:结论
我们实现了最佳模型,并在测试集上进行回报预测,从而开发了两种不同的交易策略。对于策略I,我们采用了选择性的方法,仅在预测未来一周股价上涨时买入苹果股票。我们进行了广泛的探索性数据分析,以了解股票的回报模式,设计了新的特征,并利用多种特征选择方法识别了影响AAPL股票每周回报的关键因素。虽然这两种策略在累积回报上均优于简单的买入并持有(Buy & Hold)策略,但策略I在回报和风险控制上表现更优。如果需要完整整合所有三种集成方法并进行比较,可以进一步探索堆叠分类器的效果,将其也纳入到交易策略的构建中。原创 2024-12-13 16:14:04 · 204 阅读 · 1 评论 -
(31-8-03)使用机器学习预测苹果(AAPL)股票的周收益:集成方法(3)策略2
与基准比较时,策略 II 在 累积回报(Cumulative Return) 和 年化复合增长率(CAGR) 上表现更好,表明它获得了更高的利润。所有这些指标都可能表明,策略 II 相比于买入并持有策略(Buy & Hold)和策略 I 更具风险,且生成的回报较低。最后,通过 Quantstats 库生成的报告,比较了该策略与基准(基本的买入并持有策略)的表现。如果我们的模型预测下一周苹果股票将会下跌(即看空),我们将进行卖空操作,期望通过苹果股票的下跌赚取利润。这次,我们的策略完全进入市场!原创 2024-12-13 11:02:04 · 320 阅读 · 0 评论 -
(31-8-02)使用机器学习预测苹果(AAPL)股票的周收益:集成方法(2)策略1
(3)下面,我们可以使用 QuantStats 来生成报告,将我们的模型与基准策略进行比较,基准策略是基于 AAPL 的基本买入持有策略(Buy & Hold)。上述代码的功能是将实际的回报值(returns)以及基于模型预测的仓位(position)和模型回报(model_returns)添加到 X_test 数据框中,以便于进一步分析和评估策略的表现。X_test['model_returns'] = X_test['position'] * X_test['returns'] # 计算每周模型回报。原创 2024-12-12 11:16:04 · 171 阅读 · 1 评论 -
(31-8-01)使用机器学习预测苹果(AAPL)股票的周收益:集成方法(1)定义并训练集成方法
(1)下面的代码定义并训练了三种集成方法:硬投票(Hard Voting)、软投票(Soft Voting)和堆叠分类(Stacking Classifier)。首先,它使用前面调优的模型——Histogram-based Gradient Boosting Classifier和CatBoost Classifier,将它们作为基学习器(estimators)用于集成。原创 2024-12-11 11:19:39 · 147 阅读 · 1 评论 -
(31-7)使用机器学习预测苹果(AAPL)股票的周收益:精调选定模型
下面代码的功能是通过 Optuna 进行 CatBoost Classifier 的超参数调优,objective_catboost 函数定义了多个 CatBoost 模型的超参数范围,然后使用 Optuna 进行超参数的自动优化。每次迭代,Optuna 将根据试验建议的超参数训练模型,并计算模型在测试集上的 AUC 分数,最终返回最佳的 AUC 分数。执行此代码后,Optuna 将搜索最佳的 CatBoost 模型超参数组合,输出最优的超参数和对应的 AUC 分数,以便进一步应用和评估模型性能。原创 2024-12-10 21:21:03 · 234 阅读 · 1 评论 -
(31-6)使用机器学习预测苹果(AAPL)股票的周收益:构建模型
需要注意的是,在本项目中,所有的算法都设置了 random_state = seed,其中 seed 的值为 123(已在本笔记本中前面部分定义)。对于在实例化时可以接受评估指标的算法,我们选择了 ROC-AUC 分数,这是我们最初用于评估模型性能的指标。在本次运行中,性能最优的算法是 Gradient Boosting Classifier,其 ROC-AUC 分数为 0.53,紧随其后的是 CatBoost Classifier,ROC-AUC 分数为 0.51。图5-7 两类图表。原创 2024-12-09 10:54:24 · 157 阅读 · 2 评论 -
(31-5)使用机器学习预测苹果(AAPL)股票的周收益:特征选择
移除缺失值:通过 train = train.dropna() 移除训练数据集中的任何空值,确保数据的完整性。定义训练特征和目标变量:利用 X_y_split 函数,将 train 数据集中 returns 和 cont_target 列删除,剩下的列作为训练特征(X_train),而 cat_target 列作为目标变量(y_train)。train = train.dropna() # 移除训练集中的空值。原创 2024-12-08 20:06:09 · 233 阅读 · 0 评论 -
(31-4)使用机器学习预测苹果(AAPL)股票的周收益:准备训练和验证数据
在此基础上,我们将数据分为训练集和验证集,其中训练集用于模型的训练,验证集则用于评估模型的性能。大多数这些特征在之前的笔记本中已经解释过,例如移动平均线、相对强弱指数(RSI)、能量流(OBV)、波动率,以及价格与移动平均线之间的比率——这些特征有助于我们理解价格是处于移动平均线之上还是之下,并且可以衡量两者之间的距离。df 被用作后续分析、可视化和建模的基础数据集。下面代码将原始数据框拆分成了训练集和测试集,训练集包含了直到2014年1月1日的数据,而测试集则包含了从2014年1月1日开始的后续数据。原创 2024-12-06 14:35:07 · 272 阅读 · 1 评论 -
(31-3)使用机器学习预测苹果(AAPL)股票的周收益:数据加载与分析
获取的数据包括每周的开盘价(Open)、最高价(High)、最低价(Low)、收盘价(Close)、调整后收盘价(Adj Close)和成交量(Volume)。累积收益图显示了股价的调整后收盘价(Adj Close)在时间维度上的百分比变化,帮助观察长期投资的回报趋势。(3)通过代码df_copy.head(5)显示数据框 df_copy 的前五行,包含原始数据的列(如 Open、High、Low、Close、Adj Close 等)以及新增的 Returns 列,后者表示每周调整后的收盘价的百分比变化。原创 2024-12-05 15:47:52 · 306 阅读 · 4 评论 -
(31-2)使用机器学习预测苹果(AAPL)股票的周收益:工具函数
本节介绍的工具函数主要用于实现数据分析、可视化和模型评估工作,它们通过生成不同类型的图表(如相关性热图、箱型图、蜡烛图、累计收益曲线等),帮助用户直观地了解数据的分布、特征之间的关系以及模型的表现。它还设置了图表的样式和布局,使其易于解读。蜡烛图展示了每个时间段的开盘价、最高价、最低价和收盘价,同时设置了图表的布局和样式(如标题、轴标签和背景颜色),以便用户清晰地分析价格走势。通过传入包含收益率的时间序列数据框,函数会绘制收益率随时间变化的趋势图,并提供标题、轴标签、背景颜色和样式设置,使图表简洁而美观。原创 2024-12-03 21:52:28 · 200 阅读 · 1 评论 -
(31-1)使用机器学习预测苹果(AAPL)股票的周收益:项目介绍+准备环境
在现代金融市场中,利用先进的数据分析和模型来优化交易策略已经成为一种常见的做法。本项目展示了如何使用集成学习方法在股市交易中应用机器学习,尽管它仅用于教学目的,并不构成投资建议。股票市场作为全球金融系统的核心,吸引了众多投资者和金融机构参与其中。传统的股票预测方法依赖于技术分析和基本面分析,但随着数据科学和人工智能技术的发展,机器学习方法在金融领域的应用越来越广泛。机器学习不仅能够通过历史数据识别复杂的模式,还能在不断变化的市场环境中进行动态调整。原创 2024-12-02 16:59:07 · 273 阅读 · 2 评论 -
(30-8)基于NLP用户舆情的交易策略:结论
总体而言,标记后的模型在较低的嵌入维度下表现更佳,更简单的线性模型通常优于树基模型。然而,随着嵌入维度的提高,自我标记的模型效果下降,而在专家标记的数据集上,结果却有所改善。最后,我们还探索了VADER方法,发现其与Textblob类似,预训练于非金融语料库,因此我们利用了专为金融相关情感评估定制的词典。首先,在第一部分中,我们明确了研究问题,并指出新闻来源是股票价格预测的重要组成部分。接着,在第二部分中,我们加载了金融市场数据,解析了RSS新闻标题,并定义了事件回报。原创 2024-11-06 16:34:29 · 58 阅读 · 0 评论 -
(30-7)基于NLP用户舆情的交易策略:VADER 情感分析
执行效果如图30-8所示,按股票代码(ticker)进行分面,并使用 Plotly 库进行可视化,以便清晰地观察不同股票的情感与收益之间的关系。图表的设计采用了浅色模板,散点的大小和透明度也经过调整,以增强可读性。(1)下面代码创建了一个散点图,展示了使用更新后的 VADER 词典计算的情感极性与事件收益之间的关系,图中按股票代码进行分面展示,便于观察不同股票的情感与收益的相关性。(2)下面代码计算了数据框 ldf 中各列之间的相关性,并使用条形图可视化相关性矩阵,使用不同颜色表示正相关和负相关的强度。原创 2024-11-01 17:13:57 · 758 阅读 · 4 评论 -
(30-6)基于NLP用户舆情的交易策略:使用增加嵌入维度的深度学习模型
该类通过将文本转换为数字表示并进行填充,分割训练和测试数据集,然后训练LSTM模型,并在训练集和测试集上评估模型的性能。(2)下面代码的功能是实例化一个使用Keras构建的文本情感分析评估类nlp_evals_keras,并对文本数据进行预处理和模型评估。还有继续提升模型性能的空间,特别是因为我们拥有一个相对较大的数据集,并且数据是由专家进行标注的。(3)下面代码的功能是利用之前训练好的深度学习模型对数据集 ldf 中的 headline 列进行推断,生成情感标签,并展示结果的前几行。原创 2024-10-30 17:59:02 · 169 阅读 · 0 评论 -
(30-5)基于NLP用户舆情的交易策略:泛化的监督学习模型+ 增加嵌入维度的监督学习模型
(2)下面代码的功能是实例化一个新的评估类,使用专家标签的数据集进行模型训练和评估。(2)下面代码调用了类evals_nlp中的 plot_results 方法,以可视化模型评估的结果,通过热图展示训练集、测试集和交叉验证的准确率。(4)再次调用了类evals_nlp中的 plot_results 方法,以可视化模型评估的结果,通过热图展示训练集、测试集和交叉验证的准确率。(3)下面代码的功能是绘制模型评估结果的可视化图表,展示不同模型在训练集和测试集上的准确率,以及交叉验证的结果。原创 2024-10-29 17:15:14 · 253 阅读 · 1 评论 -
(30-4)基于NLP用户舆情的交易策略:手动标注的监督学习(SL)模型
接下来定义一些常见的机器学习模型,这些模型将在评估中使用。我们会将所有模型实例存储在列表 models 中,模型集合将通过调用 define_models 进行设置。下面代码的功能是定义一组常见的机器学习模型,包括逻辑回归、K近邻、决策树、支持向量机和随机森林,并将这些模型实例存储在列表 models 中,最后通过调用 define_models 方法将模型集合传递给 evals_nlp 类进行后续评估。原创 2024-10-28 11:07:39 · 137 阅读 · 0 评论 -
(30-3)基于NLP用户舆情的交易策略:情感评估
好好学习,书中自有颜如玉,书中自有黄金屋。原创 2024-10-27 19:39:21 · 370 阅读 · 1 评论 -
(30-2)基于NLP用户舆情的交易策略:数据分析
(1)下面代码用于从Yahoo Finance获取指定股票(如AAPL、MSFT等)在2010年至2018年间的历史数据,并将所有股票的收盘数据合并到一个数据框中,最后将其保存为CSV文件。线条颜色为绿色,宽度为2。(2)下面代码用于从压缩文件中提取新闻标题数据,解析JSON格式内容,提取股票代码和对应的标题,并将这些数据存储到一个数据框中。(1)下面代码用于将新闻数据和股票收益数据按日期和股票代码合并,筛选出有效的记录,并最终将合并后的数据保存为CSV文件。在本项目中,将仅使用从RSS源获取的标题数据。原创 2024-10-24 16:33:00 · 561 阅读 · 2 评论 -
(30-1)基于NLP用户舆情的交易策略:项目介绍+数据源
在当今快速变化的金融市场中,信息的流动速度和广泛性显著影响着股票价格和市场情绪。尤其是社交媒体、新闻报道和用户评论等非结构化数据源,成为投资者了解市场动态的重要渠道。这些信息不仅能反映公司表现,还能揭示市场对事件的情感反应。因此,分析这些情感数据对于制定有效的投资策略至关重要。本项目利用自然语言处理(NLP)技术,针对金融市场中的用户舆情进行情感分析,旨在构建基于情感的交易策略。当前,金融市场正经历着前所未有的变化,尤其是数字化和信息化的加速推进,使得舆情对市场的影响愈发明显。原创 2024-10-23 21:18:36 · 280 阅读 · 1 评论 -
(29-6-02)通过回测、ARIMA 和 GRU 预测股票价格:深度学习模型预测(2)
模型架构包括一个输入层与训练数据形状相同,一个包含64个隐藏状态的GRU层,一个具有8个神经元并使用ReLU激活函数的全连接层,最后是一个输出层,用线性激活函数预测单一目标值。上面的输出结果表示 GRU 模型在测试数据上的均方误差(MSE)为 0.003459,这是衡量模型预测准确性的一种方式,数值越小表明模型的预测越接近实际值。执行效果如图29-25所示,展示了预测值和实际值的时间序列图,并进行了图表的美化处理,包括添加图例、标签、标题,以及去除图表的顶部和右侧边框。图29-25 测试集上的预测图。原创 2024-10-11 11:30:39 · 243 阅读 · 1 评论 -
(29-6-01)通过回测、ARIMA 和 GRU 预测股票价格:深度学习模型预测(1)
(1)定义函数df_to_X_y2,用于将一个包含数据的 DataFrame 转换为用于训练模型的输入数据(X)和标签(y)。(2)NN_df 是一个数据框(DataFrame),包含用于神经网络预测的特征列。(2)调用函数df_to_X_y2生成了用于训练的数据(X)和标签(y),并打印输出X 和 y 的形状,以及数据集中样本数、时间步数和特征数。(4)根据指定的预测变量列表(predictors)创建一个新的数据框(NN_df),并展示这个新数据框的前几行数据。原创 2024-10-08 15:27:07 · 250 阅读 · 0 评论 -
(29-5-03)通过回测、ARIMA 和 GRU 预测股票价格:ARIMA模型预测(3)
在本项目中,通过下面的代码绘制自相关函数(ACF)和偏自相关函数(PACF)的可视化图表,以帮助确定时间序列数据中的自回归(AR)和移动平均(MA)模型的阶数。(6)下面代码的功能是对训练集数据进行预测,并将实际的“Close”值与预测值绘制在同一图上,以便可视化模型在训练集上的表现。(1)在本项目中,选择了2020年之前的数据作为训练数据,剩余的数据用于测试工作。原创 2024-10-06 15:44:51 · 354 阅读 · 0 评论 -
(29-5-02)通过回测、ARIMA 和 GRU 预测股票价格:ARIMA模型预测(2)
在 ARIMA 模型中,p和q的值是通过自相关函数 (ACF) 和偏自相关函数 (PACF) 来确定的。用于计算平均值的点数称为窗口大小。在本项目中,通过下面的代码绘制了时间序列数据的自相关函数(ACF)图,帮助识别数据的自相关结构。在本项目中,通过下面的代码绘制了时间序列 df.High 的自相关函数(ACF)和偏自相关函数(PACF)图,用于确定序列中的滞后关系。执行效果如图29-21所示,图中包括三个子图:第一个显示原始序列的ACF,第二个显示一次差分后的ACF,第三个显示二次差分后的ACF。原创 2024-10-05 10:51:39 · 352 阅读 · 0 评论 -
(29-5-01)通过回测、ARIMA 和 GRU 预测股票价格:ARIMA模型预测(1)
ARIMA是一种用于时间序列预测的统计模型,此模型结合了自回归(AR)、积分(I)和滑动平均(MA)三种成分,以适应各种时间序列数据的特性。自回归(AR)成分:自回归成分表示当前值与过去值的线性关系,利用过去值的加权平均来预测未来值。AR 成分的阶数用 𝑝表示,表示使用多少个滞后值来进行预测。积分(I)成分:积分成分用于处理时间序列中的趋势,使其变得平稳。通过对时间序列进行差分处理,以去除趋势或季节性成分,使序列平稳。I 成分的阶数用 𝑑表示,表示需要进行多少次差分操作以使序列平稳。原创 2024-09-30 14:49:50 · 467 阅读 · 0 评论 -
(29-5)通过回测、ARIMA 和 GRU 预测股票价格:交易回测
在本项目中,由于之前进行的回测,对于某些行来说,由于时间范围的原因(例如按周、按年计算的均值),没有可用的历史数据,因此出现了一些 NaN(空值)。(1)在下面的代码中,通过添加新的特征来增强数据集,目的是提升模型的预测能力。在上面的回测代码中,我们首先在前1000行数据上训练模型,然后在接下来的50行数据上测试模型,这个过程会对整个数据集进行。(1)下面代码用于检查 DataFrame df 中各列的空值情况,遍历了所有的列,如果某列中存在空值,则打印出该列的编号、列名以及该列中空值占总数据的百分比。原创 2024-09-29 17:40:14 · 298 阅读 · 1 评论 -
(29-4)通过回测、ARIMA 和 GRU 预测股票价格:参数调优
分类错误是机器学习中用于衡量模型性能的重要指标,指的是在数据集中被错误分类的样本所占的百分比。分类错误率反映了模型在处理分类任务时的准确性,帮助评估模型在新数据上的表现。(4)下面代码的功能是绘制 XGBoost 模型训练过程中的 Log Loss 曲线图,通过图示训练集和测试集的 Log Loss 随迭代次数(Epochs)的变化情况,帮助我们判断模型是否存在过拟合。在前面创建的模型中,由于 XGBoost 会对树进行剪枝,所以还需要确保模型不会过拟合,因此需要对参数进行调优操作,以确保模型的稳定性。原创 2024-09-26 11:00:54 · 326 阅读 · 0 评论 -
(29-3)通过回测、ARIMA 和 GRU 预测股票价格:机器学习模型
(1)使用 Pandas 库中的 rolling函数查看数据中的行数(在我们这个例子中为 2),然后指定如果第二行的值高于第一行,则返回 1,否则返回 0,这样就得到了我们的目标值。(1)通过计算 X_resampled 数据的 75% 行数来确定训练集的阈值,将数据集的长度乘以 0.75,得到一个整数值 threshold,这个值将用于划分数据集,使得 75% 的数据用于训练,其余 25% 的数据用于测试。通过平移数据,确保模型在预测时使用的是最新的历史数据,从而提高预测的实际有效性。原创 2024-09-23 15:23:22 · 930 阅读 · 0 评论 -
(29-2)通过回测、ARIMA 和 GRU 预测股票价格:EDA
(3)下面这段代码绘制了一个包含多个子图的图表,展示了数据框 data_hist 中的开盘价(Open)、最高价(High)、最低价(Low)和收盘价(Close)。执行后的效果如图29-6所示,在图中包括了开盘价、最高价、最低价和收盘价,并且添加了一条表示收盘价平均值的虚线,并且去除了图表的上边框和右边框。最后,显示了绘制的图表。(6)设置绘图的开始日期和结束日期,通过start 变量指定了绘图的开始日期为 2020-12-31,使用end 变量设置为当前日期(today),表示绘图的结束日期是今天。原创 2024-09-18 15:29:27 · 289 阅读 · 0 评论 -
(29-1)通过回测、ARIMA 和 GRU 预测股票价格:项目介绍+准备环境
在金融市场中,准确预测股票价格一直是一个重要且具有挑战性的任务。股票价格受多种因素影响,包括市场动态、公司财报、宏观经济指标等。传统的时间序列分析方法,如自回归综合滑动平均模型(ARIMA),已被广泛应用于金融数据分析。然而,这些方法通常假设数据是线性的,且无法处理复杂的非线性关系和长时间依赖。在现代金融市场中,投资者和机构对预测工具的需求越来越高。这些工具可以帮助他们做出更明智的投资决策,最大限度地降低风险并提高收益。原创 2024-09-14 17:56:22 · 448 阅读 · 0 评论 -
(28-5-02)使用隐马尔可夫模型交易比特币:实现交易策略(2)
通过这个函数,用户可以评估不同策略在测试数据上的表现。(5)下面代码用于绘制模拟数据下的投资组合价值随时间变化的图表,比较了使用HMM优化的买入/卖出策略(HMM buy/sell policy)和简单的比特币投资(Bitcoin investment)在0.5%市场摩擦下的表现。(7)下面代码绘制了在1.5%市场摩擦条件下,投资组合价值随时间变化的可视化图表,比较了使用HMM优化的买入/卖出策略(HMM buy/sell policy)与简单的比特币投资(Bitcoin investment)的表现。原创 2024-09-11 10:48:40 · 291 阅读 · 0 评论 -
(28-5-01)使用隐马尔可夫模型交易比特币:实现交易策略(1)
此外,虽然检查了100个不同的摩擦率值,我们的方法仅选择了三种不同的策略,即三组不同的阈值,这就是为什么回报与摩擦率的图形呈现分段线性形状的原因。(1)函数back_test_pol用于回测不同摩擦率下的买入/卖出策略,它根据隐马尔可夫模型(HMM)得到的预期异常回报率(EAR)和隐藏状态概率,对每种摩擦率下的买入/卖出阈值进行回测,计算投资组合的价值变化。(4)下面代码的功能是绘制一个可视化图表,比较在1%市场摩擦下的HMM优化买入/卖出策略和直接比特币投资的投资组合价值随时间的变化。原创 2024-09-10 13:41:07 · 277 阅读 · 0 评论 -
(28-4)使用隐马尔可夫模型交易比特币:隐马尔可夫模型(HMM)
相反,必须选择序列的起始部分,这样才能使用来自相对未来的数据来测试模型,以便测试结果能够反映模型对未见过的未来数据的泛化能力。HMM假设系统状态是隐藏的,通过观察到的数据(观测值)来推断系统的状态。它们基于的是价格数据的简单规则或趋势,而不是通过隐藏状态模型来进行预测。然后,代码绘制了在训练期间内的隐状态概率和比特币价格的归一化对比图,以及期望异常收益率与比特币价格的对比图。上述输出结果将帮助我们评估HMM在捕捉比特币价格行为中的表现,并提供有关如何基于隐状态概率和期望异常收益率做出交易决策的见解。原创 2024-09-09 17:03:04 · 346 阅读 · 0 评论 -
(28-3)使用隐马尔可夫模型交易比特币:基准策略
(4)下面的代码绘制了摩擦率与模拟交易者进行的总交易次数的关系图,通过此图,可以观察到随着摩擦率的增加,时间旅行者在最大化回报的过程中所进行的交易次数的变化。(1)通过如下代码绘制摩擦率与最终回报的关系图,使用对数尺度显示前一天趋势追随策略和直接比特币投资在不同摩擦率下的最终回报情况。执行效果如图2-3所示,展示了随着摩擦率增加基准策略的回报下降的过程,并对比了直接投资比特币的回报。(3)下面代码绘制了摩擦率与最终回报的关系图,展示了在不同摩擦率下的三种策略的最终回报。图2-2 绘制的折线图。原创 2024-09-08 21:18:16 · 410 阅读 · 0 评论 -
(28-2)使用隐马尔可夫模型交易比特币:数据预处理
(1)下面代码的功能是为2014年12月1日至2019年1月7日期间的每一天创建一个比特币价格向量。如果某天的数据缺失,用NaN填充,然后通过线性插值(用缺失值前后的平均值填充)的方法补全缺失的价格数据。在数据科学和分析中,数据预处理通常包括对原始数据的清理、转换、以及处理缺失值等步骤,以便后续的分析和建模能够在干净、完整的数据基础上进行。(2)绘制每日比特币价格的折线图,展示日期与比特币价格的关系,并标注了横轴和纵轴的标签。执行后会绘制比特币价格的折线图,如图2-1所示。图2-1 比特币价格的折线图。原创 2024-09-08 15:20:17 · 189 阅读 · 0 评论 -
(28-1)使用隐马尔可夫模型交易比特币:项目介绍+准备环境
在现代金融市场中,利用先进的数据分析和模型来优化交易策略已经成为一种常见的做法。比特币作为一种高度波动的加密货币,其价格受多种因素的影响,这使得传统的投资策略可能无法有效应对市场的快速变化。因此,探索更复杂的模型来捕捉市场走势并制定交易决策是至关重要的。隐马尔可夫模型(HMM)是一种强大的统计工具,它通过捕捉时间序列数据中的隐藏状态来预测未来的走势。在金融市场中,HMM可以用于识别不同的市场状态(如上升、下降或横盘),从而帮助制定更有效的交易策略。原创 2024-09-08 15:17:04 · 318 阅读 · 0 评论 -
(27-4)基于深度强化学习(DRL)的比特币交易系统:测试验证
下面代码用于创建并准备验证数据集 val_data,其功能包括将 train_df 数据集赋值给 val_data,然后重置 val_data 的索引,以确保索引从0开始并连续。通过重置索引,避免了旧索引可能带来的数据混乱。最后,通过val_data.info() 显示了数据集的基本信息,如列的数据类型、非空值数量和总的列数。测试过程中,每经过一定的回合数,会打印输出当前回合的最终奖励和总交易次数,以评估模型在实际应用中的表现。执行后会输出每隔一定回合数的测试结果,包括每回合的最终奖励和总交易次数。原创 2024-08-21 13:18:45 · 84 阅读 · 0 评论 -
(27-3)基于深度强化学习(DRL)的比特币交易系统:构建深度强化学习(DRL)环境
(1)环境控制:定义了多个环境参数,如data(包含金融数据的DataFrame)、take_profit_range(止盈范围)、stop_loss_range(止损范围)、max_stop_loss(最大止损)、position_size(最大持仓规模)、initial_balance(初始资本)、balance(当前余额)、position(当前仓位)、position_open(开仓价格)、num_trades(交易次数)、profit_loss(累计盈亏)等。这些信息有助于分析和优化代理的策略。原创 2024-08-19 10:46:26 · 200 阅读 · 0 评论 -
(27-3)基于深度强化学习(DRL)的比特币交易系统:比特币交易数据集
本项目使用的数据集提供了从2017年到2023年10月期间的加密货币市场数据,涵盖了每小时的价格信息。1. 数据集概述(1)时间范围:从2017年1月到2023年10月。(2)数据频率:每小时。(3)数据类型:OHLCV(开盘价、最高价、最低价、收盘价和交易量),以及每小时的交易数量。(4)货币种类:在下面列出了常见的34种加密货币,这些货币在区块链网络中用于不同的目的,如支付、智能合约、去中心化金融(DeFi)应用等。原创 2024-08-16 15:28:37 · 266 阅读 · 0 评论 -
(27-2)基于深度强化学习(DRL)的比特币交易系统:准备环境
本项目基于stable-baselines3实现,这是一个用于强化学习的开源 Python 库,旨在提供简单、可靠且高效的强化学习算法实现。stable-baselines3是 stable-baselines 的继任者,提供了一些流行的强化学习算法的最新实现,支持多个强化学习环境和任务。pandas 用于数据处理,numpy 进行科学计算,gym 提供强化学习环境,stable_baselines3 实现了强化学习算法,DummyVecEnv 用于环境包装,而 warnings 用于忽略警告信息。原创 2024-08-16 15:22:24 · 141 阅读 · 0 评论