基于量价数据的金融产品关联性分析与投资组合策略构建
{/'title/':/'你现在要担任一个数学建模的学员的身份独自完成以下问题,你现在有数据文件名叫sjcl1.xls的文件,文件第一列为货物名称,第二列为日期,第三列为前收盘价,第四个为前结算价,第五个为开盘价,第六个为最高价,第七个为最低价,第八个为收盘价,第九个为结算价,第十个为涨跌1,第十一个为涨跌2,第十二个为成交量,第十三个为成交额,第十四个为持仓量的标题,许多金融标的都有其内在的关联,如何从量价数据找到这种关联是一个有趣的 问题。例如在万得的“煤焦钢矿”板块中,有螺纹钢、铁矿石、不锈钢、热轧卷板、 硅铁、焦煤、焦炭、锰硅、线材 9 个品种。这些品种有些是上下游关系,例如一定 数量的焦煤焦炭和铁矿石可以生产出螺纹钢等。如何从价格挖掘出不同产品之间的 关系一直是投资者感兴趣的问题。请从这些产品的日线价格中找出产品之间潜在的 关系。在已解决 构建算法从日线建立这些品种的线性关系,并对这些线性关系进行建模,能否找出这些品种的非线性关系的情况下,解决问题 4. 通过这些关系构建一个投资组合策略,将问题四,解题步骤一步一步写出,并给出每一步需要输入什么数据,可以计算什么数据,可以得到什么数据,数据只用收盘价的数据,并用matlab代码实现步骤内容:步骤1:读取数据//n首先,使用Matlab中的xlsread函数读取sjcl1.xls数据文件。读取第一列至第八列的数据,即货物名称、日期、前收盘价、前结算价、开盘价、最高价、最低价和收盘价。//n//n//n[num, txt, raw] = xlsread('sjcl1.xls', 'Sheet1', 'A2:H1001');//ndate = txt(:, 2);//nclose_price = num(:, 8);//n//n//n步骤2:计算涨跌幅度//n根据收盘价数据,计算每日的涨跌幅度。涨跌幅度可通过以下公式计算://n//n涨跌幅度 = (当日收盘价 - 前日收盘价) / 前日收盘价//n//n//nchange_percentage = (close_price(2:end) - close_price(1:end-1)) ./ close_price(1:end-1);//n//n//n步骤3:计算相关系数//n使用corrcoef函数计算不同产品之间的相关系数。相关系数可用于衡量两个变量之间的线性关系强度。例如,可以计算螺纹钢与铁矿石、不锈钢、热轧卷板、硅铁、焦煤、焦炭、锰硅、线材之间的相关系数。//n//n//ncorrelation_matrix = corrcoef(change_percentage, 'rows', 'pairwise');//n//n//n步骤4:建立线性关系模型//n通过回归分析建立螺纹钢与其他品种之间的线性关系模型。回归分析可以用来找出一个或多个自变量与因变量之间的线性关系,并进行预测。以螺纹钢与铁矿石之间的关系为例://n//n//nX = change_percentage(:, 1); % 螺纹钢的涨跌幅度作为自变量//nY = change_percentage(:, 2); % 铁矿石的涨跌幅度作为因变量//n//n% 建立线性回归模型//nmdl = fitlm(X, Y);//n//n//n步骤5:寻找非线性关系//n通过非线性回归分析寻找两个品种之间的非线性关系。以螺纹钢与不锈钢之间的关系为例://n//n//nX = change_percentage(:, 1); % 螺纹钢的涨跌幅度作为自变量//nY = change_percentage(:, 3); % 不锈钢的涨跌幅度作为因变量//n//n% 建立非线性回归模型//nmdl = fitnlm(X, Y, @(b, x) b(1)*x.^2 + b(2)*x + b(3));//n//n//n步骤6:构建投资组合策略//n根据以上分析结果,可以构建一个投资组合策略来利用产品之间的关系。例如,可以选择在某一品种涨幅较大时买入该品种,并在与其相关的品种涨幅也较大时卖出。//n//n具体的投资组合策略的构建需要根据具体的分析结果来确定,可以使用以上得到的相关系数和回归模型进行决策。//n//n以上是一种可能的解题步骤,具体的分析方法和策略根据实际情况可能有所不同。/
原文地址: https://www.cveoy.top/t/topic/pUY6 著作权归作者所有。请勿转载和采集!