【问题标题】:Predit price for put and call options?看跌期权和看涨期权的预测价格?
【发布时间】:2018-12-20 01:35:19
【问题描述】:

我必须预测是否购买 sp500 看跌期权和看涨期权,但是我不理解提供给我的代码的某些部分。另外你能向我解释一下数据的每个选项的作用吗,例如:

  • optionclosingprice;
  • optionsettleprice;
  • optiontype;
  • optionstrike;
  • optionhighprice;
  • optionlowprice;
  • optionvol;
  • optionopenint;
  • optionbetprice

以及它们的用途?

我们尝试使用 ARIMA 进行预测,但您还有其他解决方案可以提供给我吗?

提前谢谢你,这是我不明白的代码:

mutate(optiontype = as.double(optiontype == "put")) %>%
mutate(buy_gain = (optionstrike - settle_sp_price)*(optiontype * 2 - 1)) %>%
mutate(bet_price = optionstrike - optionclosingprice*(optiontype * 2 - 1))
prices <- options %>% 
select(todaydate, today_sp_price) %>%
unique() %>%
mutate(lag_one = lag(today_sp_price), lag_three = lag(today_sp_price, 3), 
lag_five = lag(today_sp_price, 5) ) %>%
select(-(today_sp_price)) `

【问题讨论】:

  • 嘿嘿,欢迎来到 SO!你能更具体地说明你不明白的地方吗?对于本网站来说,这可能是一个过于模糊的问题。
  • 其他人(不在您的班级?)如何知道您的私有数据中的特定变量?我们对您正在讨论的数据的结构或背景一无所知。关于“数据的每个选项的作用”的问题应该直接问教师/教授或团队负责人。请阅读一些关于 SO 的how to ask 问题,以及关于reproducible questions 的流行问答。
  • 如果你愿意,我可以给你每列数据的标题??我没有做足够的研究来理解什么是例如赌注价格、服装价格等....我不明白我在示例中所说的所有内容是什么
  • 有人可以帮助我吗?
  • 您能否将您尝试分析的 sp500 数据上传到某处,例如前 10 行?或者使用 dput(head(options)) 并发布结果?

标签: r dplyr time-series quantitative-finance arima


【解决方案1】:

定义

选项类型:

调用:买方购买权利(非义务)以购买 标的资产在给定日期前以预先确定的(执行)价格; 买方期望标的资产的价格将 增加。

Put:买方通过以下方式购买出售标的资产的权利(而非义务) 预定(执行)价格的给定日期;买方期望价格为 标的资产将会减少。

  • 基础资产 - 股票、债券等。
  • 期权是一种二级金融工具(衍生品),当买方购买在给定时间段内购买或出售某种标的资产(债券、股票等)的权利时。李>
  • 结算价平均(通常是加权)交易价格 交易日的基础证券。
  • 收盘价是交易日结束时的价格。
  • 最低价为当日最低价
  • 高价是当日最高价。
  • 开盘价是交易日的开盘价。
  • 波动率是衡量期权价格在一天中的波动性的指标,它表征了与给定期权相关的风险程度。
  • Bet price看跌期权的执行价和收盘价之间的差值;看涨期权的收盘价和行使价之间的差异。

以上提到的所有特征都可以让您创建多元化的投资组合,以减轻破产风险并最大化预期利润

R 代码

mutate(col.name = experession) 创建一个 col.name 等于表达式的列

select(col.name1, col.name2, ...)data.frame 中选择 col.name1, col.nam2, ... 列

select(-col.name) - 从 data.frame col.name 列中删除

lag(ts, n) 获取时间序列ts 并将基础日期移动 n 个时间单位

%&gt;% - 将 data.frame 上的一系列操作(变异、选择等)连接到一行

unique - 只选择唯一的列组合

optiontype = as.double(optiontype == "put")) - 创建optiontype 列,如果是put 选项,则列的每个单元格等于1,如果它有任何其他值,则等于0

时间序列:

除了 ARIMA,您还可以使用指数平滑算法(如 Holt-Winters、状态空间)或循环神经网络等。

【讨论】:

  • 非常感谢!!这就是我一直在等待的答案!但我尝试用 FFT 方法进行预测,这可能还是只是浪费时间?
  • 我觉得很有挑战性:
  • 1) 当您应用 FFT 时,频谱将具有由于时间序列的终点(“泛音”)而出现的频率,您将尝试将频谱转换回信号,您的预测将受到“泛音”频率。 2) FFT 原则上具有无限的系数,任何“异常值”都会影响所有系数和模型预测我建议您尝试小波:en.wikipedia.org/wiki/Wavelet
  • 你能告诉我更多关于泛音问题吗?
  • 通常您从带边(从 t1 到 t2)分析有限时间序列。傅立叶基由具有不同应用的正弦\余弦组成,每个基都将与边缘点相互作用,无论它位于何处,从而影响每个傅立叶系数。因此,由于时间序列的有限特性,基本上会出现一些伪影频率。矩形脉冲频谱 (en.wikipedia.org/wiki/Rectangular_function)。然而,有些人使用 FFT 作为选项。但是东西很硬。 (math.ust.hk/~maykwok/piblications/Handbook_chapter.pdf)
猜你喜欢
  • 2022-07-05
  • 2019-06-20
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 2013-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多