首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MATLAB金融数据算法

MATLAB金融数据算法
EN

Stack Overflow用户
提问于 2014-11-26 22:05:44
回答 1查看 131关注 0票数 0

因此,我有一个庞大的excel电子表格的历史期权数据,标准普尔100在不同的日期,2010年和现在的日期。我试图在每一个日期找到股票的概率密度函数。

找出这个函数的方法是取看涨价格的二阶导数(列在第5栏中)。我希望我的MATLAB脚本工作如下:

  1. 使用曲线工具箱样条拟合函数,在每个日期创建一条相对于交易价格的看涨价格曲线。每一个日期大约有10点。
  2. 利用微分函数求出二阶导数的50分来估计二阶导数函数。
  3. 在这些点上使用Riemann积分来计算期望值的积分。

我的主要问题是把桌子分组。我已经做了一些研究,并且认为我可能不得不使用really,但是我在处理这样的数据方面并不是很有经验。

任何帮助都将不胜感激!

数据集的样本:

EN

回答 1

Stack Overflow用户

发布于 2014-11-26 23:21:55

您是否只是为了计算该日期的“最佳”二阶导数值而执行步骤(1)到(3)?如果是这样的话,有一种更简单的方法。在伪代码中,如下所示:

代码语言:javascript
运行
复制
%assume that all_dates is a Matlab datenum that encodes both
%the date and the time as a floating point value

%find just those values for your day that you care about
I = find(todays_date == floor(all_dates));
todays_data = all_data(I);
todays_datenums = all_dates(I);

%find the best-fit parabola to today's data
N_fit = 2;  %2nd order is a parabola
p = polyfit(todays_datenums, todays_data,N_fit); 

%compute the 2nd derivative
p_1st = polyder(p);      %first derivative, form is y = p(1)*todays_datenum+p(2)
p_2nd = polyder(p_1st);  %second derivative

因为您只适合抛物线,所以p_2nd将是单个值。这是你对当天数据的二阶导数的最佳估计。单位是美元(?)每天。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27159721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档