从 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 :-)