金融大模型
文章平均质量分 81
全面深入的内容涵盖:从人工智能基础到实战案例,覆盖人工智能、机器学习和深度学习在金融领域的应用
丰富实战案例:结合实际案例,详细介绍数据预处理、时间序列分析、风险建模、高频交易、情绪分析等各个方面的应用,让理论与实践相结合。
技术栈全覆盖:涵盖深度学习框架、数据处理工具、模型部署与推理技术等
码农三叔
学编程20年,乐于奉献,一往无前
展开
-
(30-8)基于NLP用户舆情的交易策略:结论
总体而言,标记后的模型在较低的嵌入维度下表现更佳,更简单的线性模型通常优于树基模型。然而,随着嵌入维度的提高,自我标记的模型效果下降,而在专家标记的数据集上,结果却有所改善。最后,我们还探索了VADER方法,发现其与Textblob类似,预训练于非金融语料库,因此我们利用了专为金融相关情感评估定制的词典。首先,在第一部分中,我们明确了研究问题,并指出新闻来源是股票价格预测的重要组成部分。接着,在第二部分中,我们加载了金融市场数据,解析了RSS新闻标题,并定义了事件回报。原创 2024-11-06 16:34:29 · 7 阅读 · 0 评论 -
(30-7)基于NLP用户舆情的交易策略:VADER 情感分析
执行效果如图30-8所示,按股票代码(ticker)进行分面,并使用 Plotly 库进行可视化,以便清晰地观察不同股票的情感与收益之间的关系。图表的设计采用了浅色模板,散点的大小和透明度也经过调整,以增强可读性。(1)下面代码创建了一个散点图,展示了使用更新后的 VADER 词典计算的情感极性与事件收益之间的关系,图中按股票代码进行分面展示,便于观察不同股票的情感与收益的相关性。(2)下面代码计算了数据框 ldf 中各列之间的相关性,并使用条形图可视化相关性矩阵,使用不同颜色表示正相关和负相关的强度。原创 2024-11-01 17:13:57 · 628 阅读 · 4 评论 -
(30-6)基于NLP用户舆情的交易策略:使用增加嵌入维度的深度学习模型
该类通过将文本转换为数字表示并进行填充,分割训练和测试数据集,然后训练LSTM模型,并在训练集和测试集上评估模型的性能。(2)下面代码的功能是实例化一个使用Keras构建的文本情感分析评估类nlp_evals_keras,并对文本数据进行预处理和模型评估。还有继续提升模型性能的空间,特别是因为我们拥有一个相对较大的数据集,并且数据是由专家进行标注的。(3)下面代码的功能是利用之前训练好的深度学习模型对数据集 ldf 中的 headline 列进行推断,生成情感标签,并展示结果的前几行。原创 2024-10-30 17:59:02 · 133 阅读 · 0 评论 -
(30-5)基于NLP用户舆情的交易策略:泛化的监督学习模型+ 增加嵌入维度的监督学习模型
(2)下面代码的功能是实例化一个新的评估类,使用专家标签的数据集进行模型训练和评估。(2)下面代码调用了类evals_nlp中的 plot_results 方法,以可视化模型评估的结果,通过热图展示训练集、测试集和交叉验证的准确率。(4)再次调用了类evals_nlp中的 plot_results 方法,以可视化模型评估的结果,通过热图展示训练集、测试集和交叉验证的准确率。(3)下面代码的功能是绘制模型评估结果的可视化图表,展示不同模型在训练集和测试集上的准确率,以及交叉验证的结果。原创 2024-10-29 17:15:14 · 211 阅读 · 1 评论 -
(30-4)基于NLP用户舆情的交易策略:手动标注的监督学习(SL)模型
接下来定义一些常见的机器学习模型,这些模型将在评估中使用。我们会将所有模型实例存储在列表 models 中,模型集合将通过调用 define_models 进行设置。下面代码的功能是定义一组常见的机器学习模型,包括逻辑回归、K近邻、决策树、支持向量机和随机森林,并将这些模型实例存储在列表 models 中,最后通过调用 define_models 方法将模型集合传递给 evals_nlp 类进行后续评估。原创 2024-10-28 11:07:39 · 111 阅读 · 0 评论 -
(30-3)基于NLP用户舆情的交易策略:情感评估
好好学习,书中自有颜如玉,书中自有黄金屋。原创 2024-10-27 19:39:21 · 318 阅读 · 1 评论 -
(30-2)基于NLP用户舆情的交易策略:数据分析
(1)下面代码用于从Yahoo Finance获取指定股票(如AAPL、MSFT等)在2010年至2018年间的历史数据,并将所有股票的收盘数据合并到一个数据框中,最后将其保存为CSV文件。线条颜色为绿色,宽度为2。(2)下面代码用于从压缩文件中提取新闻标题数据,解析JSON格式内容,提取股票代码和对应的标题,并将这些数据存储到一个数据框中。(1)下面代码用于将新闻数据和股票收益数据按日期和股票代码合并,筛选出有效的记录,并最终将合并后的数据保存为CSV文件。在本项目中,将仅使用从RSS源获取的标题数据。原创 2024-10-24 16:33:00 · 458 阅读 · 2 评论 -
(30-1)基于NLP用户舆情的交易策略:项目介绍+数据源
在当今快速变化的金融市场中,信息的流动速度和广泛性显著影响着股票价格和市场情绪。尤其是社交媒体、新闻报道和用户评论等非结构化数据源,成为投资者了解市场动态的重要渠道。这些信息不仅能反映公司表现,还能揭示市场对事件的情感反应。因此,分析这些情感数据对于制定有效的投资策略至关重要。本项目利用自然语言处理(NLP)技术,针对金融市场中的用户舆情进行情感分析,旨在构建基于情感的交易策略。当前,金融市场正经历着前所未有的变化,尤其是数字化和信息化的加速推进,使得舆情对市场的影响愈发明显。原创 2024-10-23 21:18:36 · 190 阅读 · 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 · 208 阅读 · 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 · 196 阅读 · 0 评论 -
(29-5-03)通过回测、ARIMA 和 GRU 预测股票价格:ARIMA模型预测(3)
在本项目中,通过下面的代码绘制自相关函数(ACF)和偏自相关函数(PACF)的可视化图表,以帮助确定时间序列数据中的自回归(AR)和移动平均(MA)模型的阶数。(6)下面代码的功能是对训练集数据进行预测,并将实际的“Close”值与预测值绘制在同一图上,以便可视化模型在训练集上的表现。(1)在本项目中,选择了2020年之前的数据作为训练数据,剩余的数据用于测试工作。原创 2024-10-06 15:44:51 · 298 阅读 · 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 · 303 阅读 · 0 评论 -
(29-5-01)通过回测、ARIMA 和 GRU 预测股票价格:ARIMA模型预测(1)
ARIMA是一种用于时间序列预测的统计模型,此模型结合了自回归(AR)、积分(I)和滑动平均(MA)三种成分,以适应各种时间序列数据的特性。自回归(AR)成分:自回归成分表示当前值与过去值的线性关系,利用过去值的加权平均来预测未来值。AR 成分的阶数用 𝑝表示,表示使用多少个滞后值来进行预测。积分(I)成分:积分成分用于处理时间序列中的趋势,使其变得平稳。通过对时间序列进行差分处理,以去除趋势或季节性成分,使序列平稳。I 成分的阶数用 𝑑表示,表示需要进行多少次差分操作以使序列平稳。原创 2024-09-30 14:49:50 · 380 阅读 · 0 评论 -
(29-5)通过回测、ARIMA 和 GRU 预测股票价格:交易回测
在本项目中,由于之前进行的回测,对于某些行来说,由于时间范围的原因(例如按周、按年计算的均值),没有可用的历史数据,因此出现了一些 NaN(空值)。(1)在下面的代码中,通过添加新的特征来增强数据集,目的是提升模型的预测能力。在上面的回测代码中,我们首先在前1000行数据上训练模型,然后在接下来的50行数据上测试模型,这个过程会对整个数据集进行。(1)下面代码用于检查 DataFrame df 中各列的空值情况,遍历了所有的列,如果某列中存在空值,则打印出该列的编号、列名以及该列中空值占总数据的百分比。原创 2024-09-29 17:40:14 · 216 阅读 · 1 评论 -
(29-4)通过回测、ARIMA 和 GRU 预测股票价格:参数调优
分类错误是机器学习中用于衡量模型性能的重要指标,指的是在数据集中被错误分类的样本所占的百分比。分类错误率反映了模型在处理分类任务时的准确性,帮助评估模型在新数据上的表现。(4)下面代码的功能是绘制 XGBoost 模型训练过程中的 Log Loss 曲线图,通过图示训练集和测试集的 Log Loss 随迭代次数(Epochs)的变化情况,帮助我们判断模型是否存在过拟合。在前面创建的模型中,由于 XGBoost 会对树进行剪枝,所以还需要确保模型不会过拟合,因此需要对参数进行调优操作,以确保模型的稳定性。原创 2024-09-26 11:00:54 · 271 阅读 · 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 · 836 阅读 · 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 · 245 阅读 · 0 评论 -
(29-1)通过回测、ARIMA 和 GRU 预测股票价格:项目介绍+准备环境
在金融市场中,准确预测股票价格一直是一个重要且具有挑战性的任务。股票价格受多种因素影响,包括市场动态、公司财报、宏观经济指标等。传统的时间序列分析方法,如自回归综合滑动平均模型(ARIMA),已被广泛应用于金融数据分析。然而,这些方法通常假设数据是线性的,且无法处理复杂的非线性关系和长时间依赖。在现代金融市场中,投资者和机构对预测工具的需求越来越高。这些工具可以帮助他们做出更明智的投资决策,最大限度地降低风险并提高收益。原创 2024-09-14 17:56:22 · 308 阅读 · 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 · 245 阅读 · 0 评论 -
(28-5-01)使用隐马尔可夫模型交易比特币:实现交易策略(1)
此外,虽然检查了100个不同的摩擦率值,我们的方法仅选择了三种不同的策略,即三组不同的阈值,这就是为什么回报与摩擦率的图形呈现分段线性形状的原因。(1)函数back_test_pol用于回测不同摩擦率下的买入/卖出策略,它根据隐马尔可夫模型(HMM)得到的预期异常回报率(EAR)和隐藏状态概率,对每种摩擦率下的买入/卖出阈值进行回测,计算投资组合的价值变化。(4)下面代码的功能是绘制一个可视化图表,比较在1%市场摩擦下的HMM优化买入/卖出策略和直接比特币投资的投资组合价值随时间的变化。原创 2024-09-10 13:41:07 · 225 阅读 · 0 评论 -
(28-4)使用隐马尔可夫模型交易比特币:隐马尔可夫模型(HMM)
相反,必须选择序列的起始部分,这样才能使用来自相对未来的数据来测试模型,以便测试结果能够反映模型对未见过的未来数据的泛化能力。HMM假设系统状态是隐藏的,通过观察到的数据(观测值)来推断系统的状态。它们基于的是价格数据的简单规则或趋势,而不是通过隐藏状态模型来进行预测。然后,代码绘制了在训练期间内的隐状态概率和比特币价格的归一化对比图,以及期望异常收益率与比特币价格的对比图。上述输出结果将帮助我们评估HMM在捕捉比特币价格行为中的表现,并提供有关如何基于隐状态概率和期望异常收益率做出交易决策的见解。原创 2024-09-09 17:03:04 · 276 阅读 · 0 评论 -
(28-3)使用隐马尔可夫模型交易比特币:基准策略
(4)下面的代码绘制了摩擦率与模拟交易者进行的总交易次数的关系图,通过此图,可以观察到随着摩擦率的增加,时间旅行者在最大化回报的过程中所进行的交易次数的变化。(1)通过如下代码绘制摩擦率与最终回报的关系图,使用对数尺度显示前一天趋势追随策略和直接比特币投资在不同摩擦率下的最终回报情况。执行效果如图2-3所示,展示了随着摩擦率增加基准策略的回报下降的过程,并对比了直接投资比特币的回报。(3)下面代码绘制了摩擦率与最终回报的关系图,展示了在不同摩擦率下的三种策略的最终回报。图2-2 绘制的折线图。原创 2024-09-08 21:18:16 · 339 阅读 · 0 评论 -
(28-2)使用隐马尔可夫模型交易比特币:数据预处理
(1)下面代码的功能是为2014年12月1日至2019年1月7日期间的每一天创建一个比特币价格向量。如果某天的数据缺失,用NaN填充,然后通过线性插值(用缺失值前后的平均值填充)的方法补全缺失的价格数据。在数据科学和分析中,数据预处理通常包括对原始数据的清理、转换、以及处理缺失值等步骤,以便后续的分析和建模能够在干净、完整的数据基础上进行。(2)绘制每日比特币价格的折线图,展示日期与比特币价格的关系,并标注了横轴和纵轴的标签。执行后会绘制比特币价格的折线图,如图2-1所示。图2-1 比特币价格的折线图。原创 2024-09-08 15:20:17 · 170 阅读 · 0 评论 -
(28-1)使用隐马尔可夫模型交易比特币:项目介绍+准备环境
在现代金融市场中,利用先进的数据分析和模型来优化交易策略已经成为一种常见的做法。比特币作为一种高度波动的加密货币,其价格受多种因素的影响,这使得传统的投资策略可能无法有效应对市场的快速变化。因此,探索更复杂的模型来捕捉市场走势并制定交易决策是至关重要的。隐马尔可夫模型(HMM)是一种强大的统计工具,它通过捕捉时间序列数据中的隐藏状态来预测未来的走势。在金融市场中,HMM可以用于识别不同的市场状态(如上升、下降或横盘),从而帮助制定更有效的交易策略。原创 2024-09-08 15:17:04 · 277 阅读 · 0 评论 -
(27-4)基于深度强化学习(DRL)的比特币交易系统:测试验证
下面代码用于创建并准备验证数据集 val_data,其功能包括将 train_df 数据集赋值给 val_data,然后重置 val_data 的索引,以确保索引从0开始并连续。通过重置索引,避免了旧索引可能带来的数据混乱。最后,通过val_data.info() 显示了数据集的基本信息,如列的数据类型、非空值数量和总的列数。测试过程中,每经过一定的回合数,会打印输出当前回合的最终奖励和总交易次数,以评估模型在实际应用中的表现。执行后会输出每隔一定回合数的测试结果,包括每回合的最终奖励和总交易次数。原创 2024-08-21 13:18:45 · 62 阅读 · 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 · 171 阅读 · 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 · 170 阅读 · 0 评论 -
(27-2)基于深度强化学习(DRL)的比特币交易系统:准备环境
本项目基于stable-baselines3实现,这是一个用于强化学习的开源 Python 库,旨在提供简单、可靠且高效的强化学习算法实现。stable-baselines3是 stable-baselines 的继任者,提供了一些流行的强化学习算法的最新实现,支持多个强化学习环境和任务。pandas 用于数据处理,numpy 进行科学计算,gym 提供强化学习环境,stable_baselines3 实现了强化学习算法,DummyVecEnv 用于环境包装,而 warnings 用于忽略警告信息。原创 2024-08-16 15:22:24 · 88 阅读 · 0 评论 -
(27-1)基于深度强化学习(DRL)的比特币交易系统:背景介绍+系统介绍
随着加密货币市场的快速发展,比特币等数字资产的交易日益成为全球投资者关注的焦点。由于加密货币市场具有高度波动性和不确定性,传统的交易策略往往难以应对复杂的市场动态。因此,开发基于人工智能的自动化交易系统成为一种趋势,其中深度强化学习(DRL)作为一种能够自适应学习复杂决策的技术,逐渐受到关注。本项目旨在探索深度强化学习在比特币交易中的应用,构建一个智能交易系统。原创 2024-08-16 15:21:10 · 168 阅读 · 0 评论 -
聊一聊如何学大模型开发技术,欢迎大家一起讨论
想象一下,智能家居系统懂得我们的每一个习惯,智能医疗系统能为我们提供个性化的健康管理,智能交通系统让出行更加高效和安全,自动驾驶汽车在城市中自由穿行,人形机器人在各个领域中帮助我们完成各种任务。随着时间的推进,人工智能从最初的概念走向现实,不仅重塑了我们的世界,也为未来的发展勾勒出一幅壮丽的蓝图。从人工智能的发展历程到机器学习与深度学习的精妙区别,从数据集的加载与处理到数据增强的技巧,从卷积神经网络到循环神经网络,再到注意力机制与特征提取,每一个章节都犹如一颗璀璨的明珠,照亮了读者前行的道路。原创 2024-08-09 09:43:17 · 77 阅读 · 0 评论 -
致粉丝朋友们的一封信——感谢信任、共同启航
我深知,每一位读者的时间和金钱都是宝贵的,因此,我承诺将尽我所能,确保继续更新本专栏的内容,提高新增内容的质量和价值,以回报大家的支持和信任。我相信,通过这些新的内容,能够为大家带来更多的启发和帮助,同时也希望能够得到大家的理解和支持。我非常理解大家对于知识的渴望和对免费资源的支持。然而,最近我们收到了来自北京大学出版社的通知,由于我的专栏中的一部分内容已经被收录并出版在《金融大模型开发与实战》一书中,根据出版社的要求和版权协议,我们必须将这部分内容设置为付费阅读。最后预祝广大读者在金融市场中永远赚钱!原创 2024-08-08 20:42:07 · 79 阅读 · 0 评论 -
致粉丝朋友们的一封信——感谢信任、共同启航
然而,版权法和出版社的要求是我们必须要遵守的规则,这不仅是对出版社的尊重,也是对所有创作者劳动成果的尊重。我深知,每一位读者的时间和金钱都是宝贵的,因此,我承诺将尽我所能,确保新增内容的质量和价值,以回报大家的支持和信任。我相信,通过这些新的内容,能够为大家带来更多的启发和帮助,同时也希望能够得到大家的理解和支持。然而,最近我们收到了来自北京大学出版社的通知,由于我的专栏中的一部分内容已经被收录并出版在《大规模语言模型开发基础与实践》一书中,根据出版社的要求和版权协议,我们必须将这部分内容设置为付费阅读。原创 2024-08-07 15:36:08 · 69 阅读 · 0 评论 -
大家一起加油,努力学习!
想象一下,你有一个想法,但只有你和你的宠物知道。学习编程,就像是找到了一个翻译器,能让世界听懂你的语言。学会了编程,你就能和机器进行深入的对话。它们会听从你的指令,完成你的任务。但学会编程,你就能真正地拯救世界——至少是拯救你的电脑不崩溃。编程就是你的画笔,代码就是你的颜料。古老的巫师用魔杖施展魔法,而现代的巫师用键盘。学习编程,让你成为新时代的魔法师,用代码创造奇迹。打开一个又一个的数字世界,每一次点击,都是一次新的冒险。但学会了编程,你就能搭建一座桥梁,让梦想一步步走向现实。大家学习编程的目的是什么?原创 2024-08-07 11:07:13 · 235 阅读 · 0 评论 -
(26-6)基于OpenAI和LangChain的上市公司估值系统:估值报告可视化
(1)Tableau 仪表板提供了直观的界面,可用于可视化每个公司的关键信息,如图10-8所示。地理分割部分提供了关于公司在不同国家或地区运营分布的分析。(3)在Tableau 估值仪表板中,可以快速地可视化从我们的 8 个场景中得到的不同估值,包括自由现金流估值和股息估值信息。(4)在 PowerBI 中也构建了类似的仪表板,另外有一些不同的视觉元素,以更好地利用该工具的功能,比如使用瀑布图而不是简单的条形图(也可以在 Tableau 中构建瀑布图,但需要进行一些数据处理才能使其达到正确的格式)。原创 2024-06-23 21:17:10 · 767 阅读 · 0 评论 -
(26-5-04)基于OpenAI和LangChain的上市公司估值系统:定量分析(Quantitative Analysis)(4)风险评估
对于每个文件,它提取了摘要信息并将其组织成DataFrame的行,其中包括文件类型、提交日期、摘要信息、摘要链接等。(3)打印输出公司风险评估的结果,包括公司市值(以美元计)、公司规模评级、公司复杂性评级、股份稀释程度、收入、库存信息、应收账款信息、公司类型、审计师信息。(2)看下面的这段代码,用户与从文档中提取一些公司特征和数据,用于评估公司的风险,这有助于综合评估公司的风险情况,为投资决策提供参考。通过全面评估这些因素,投资者可以更深入地了解投资公司所涉及的风险,并做出更明智的投资决策。原创 2024-06-22 17:32:05 · 1095 阅读 · 0 评论 -
(26-5-03)基于OpenAI和LangChain的上市公司估值系统:定量分析(Quantitative Analysis)(3)计算估值
(3)计算自由现金流(FCFF)和股利的估值差异,以及股票的清算价值与当前价格之间的差异。根据不同的情况进行了条件判断,如果估值值大于0,则计算出价格与估值之间的百分比差异;首先,将不同情景下的FCFF和股利估值值组成列表,并设定了衰退概率。然后,通过对不同情景下的估值值进行加权平均,得到了FCFF和股利的估值期望值,从而更全面地考虑了衰退风险。(1)在本项目中,分别使用了基于股息和自由现金流的方法计算股票的估值。通过打印这些数值,可以更好地了解不同情景下的估值结果,并评估市场价格与估值之间的差异。原创 2024-06-21 17:11:18 · 491 阅读 · 0 评论 -
(26-5-02)基于OpenAI和LangChain的上市公司估值系统:定量分析(Quantitative Analysis)(2)数据处理
(5)编写函数xtract_balance_sheet_current_assets,从财务文件中提取资产负债表中的流动资产信息,通过提取和整合这些信息,可以帮助分析者了解公司的流动资产结构,评估其财务健康状况,并进行进一步的财务分析和预测。(3)函数extract_shares的功能是从财务文件中提取股份信息,并处理不同的股份度量单位,以确保数据的一致性。(2)函数merge_subsets_most_recent的功能是将多个子集中的最新值合并成一个总集,用于合并最新的财务数据。原创 2024-06-20 21:10:35 · 381 阅读 · 0 评论 -
(26-5-01)基于OpenAI和LangChain的上市公司估值系统:定量分析(Quantitative Analysis)(1)
(2)函数get_ttm_from_df从包含季度和年度值的DataFrame中计算出 trailing twelve months (TTM) 值,此函数接受一个包含季度和年度值的DataFrame df。在这本项目的定量分析中,DataFrame扮演着关键的角色,用于处理和分析从公司财务文档中提取的数,为项目提供了数据处理、计算和分析的基础。(1)函数get_most_recent_value_from_df的功能是获取DataFrame中最新的财务数据,即最后一行的值和日期。原创 2024-06-19 21:08:58 · 986 阅读 · 0 评论 -
(26-4-04)基于OpenAI和LangChain的上市公司估值系统:OpenAI API和Langchain探索(4)LangChain处理
这将生成 Alphabet Inc.最新提交的所有重要部分的摘要,并将结果保存在 items_summary 集合中。(2)然后使用LangChain总结business(业务)部分,该部分包含了公司描述信息以及其他有助于了解公司业务的信息。(7)下面代码会获取摘要文档,并循环打印输出每个部分的摘要。在上述代码中,选择一个名为"business"的部分进行总结,并打印其原始文本以及生成的摘要及其成本。(1)使用LangChain选择一个要总结的文档部分,并在模型响应后打印输出其摘要。原创 2024-06-18 21:17:06 · 556 阅读 · 0 评论 -
(26-4-03)基于OpenAI和LangChain的上市公司估值系统:OpenAI API和Langchain探索(3)创建摘要
编写文件qualitative_analysis.py,功能是重构已解析的文档,并为每个文档创建摘要。方法restructure_parsed_10k、restructure_parsed_10q和restructure_parsed_8k的功能是将已解析的文档重组为特定格式,以便后续的摘要生成功能做好基础。result = {})result = {})continue方法sections_summary的功能是对每个文档部分进行生成摘要,并将结果存储在MongoDB中。原创 2024-06-18 15:11:05 · 260 阅读 · 0 评论