从 f# 中的价格创建股票 returns
creating stock returns from prices in f#
我在 F# 中将股票价格记录为数组
let stockprice= Array.zip D12 index |> Array.map (fun (a,b) -> a+b) |> Array.map(fun x -> log(x))
但是,我不知道如何通过将 Pt 除以 Pt-1 将股票价格变为 returns。以下代码不起作用:
let myreturn= stockprice.diff(1)
有人有什么建议吗?
为了扩展我的评论 - Deedle 库旨在执行此操作,时间序列文档中的 Shifting and differences 部分正是您所需要的。
如果你有一个数列 ts
,你可以通过减去移位的数列(Series.diff
所做的)然后除此来计算 returns:
(ts - Series.shift 1 ts) / ts // Subtracting & dividing
(Series.diff 1 ts) / ts // Even nicer :-)
我在 F# 中将股票价格记录为数组
let stockprice= Array.zip D12 index |> Array.map (fun (a,b) -> a+b) |> Array.map(fun x -> log(x))
但是,我不知道如何通过将 Pt 除以 Pt-1 将股票价格变为 returns。以下代码不起作用:
let myreturn= stockprice.diff(1)
有人有什么建议吗?
为了扩展我的评论 - Deedle 库旨在执行此操作,时间序列文档中的 Shifting and differences 部分正是您所需要的。
如果你有一个数列 ts
,你可以通过减去移位的数列(Series.diff
所做的)然后除此来计算 returns:
(ts - Series.shift 1 ts) / ts // Subtracting & dividing
(Series.diff 1 ts) / ts // Even nicer :-)