计算[saddle]系列[DateTime,Double]的每日日志返回值

时间:2015-09-07 09:32:40

标签: scala saddle

给定一系列价格数据(使用scala的马鞍库),是否有一种简单的方法来计算日志回报?

type DtPxSeries = Series[DateTime, Double]

def pxDifs(series, DtPxSeries) : DtPxSeries = {
    (series / series.shift(-1)).dropNA
}

// px_data is a `Series[DateTime, Double]`
val px_difs = pxDifs(px_data)

我可以传递一个系列(px_data,它使用joda DataTimes作为索引)到pxDifs,它返回一系列日常比率:到目前为止一直很好......

但是我现在如何计算px_difs中每个元素的log()?

import breeze.numerics._
// fugly
log(px_difs.values.toSeq.toArray)

使用上面我可以使用breeze进行计算,但(理想情况下)我希望能够使用原始DateTime索引获得新的saddle.Series

我错过了什么吗?

感谢任何帮助...

1 个答案:

答案 0 :(得分:1)

这应该这样做:

px_difs.mapValues(v => Math.log(v))