- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 Julia 中处理高频财务数据时将其存储在内存中。
我的数据在很多 Float64 数组中。为了安全起见,每个阵列都存储某一天的高频数据。例如,对于在 NYSE(纽约证券交易所)上市的 IBM,日期 2010-01-04,有一个 Float64 数组。
如前所述,我有许多这样的数组,跨越多个日期、市场和证券。我想将它们全部存储在一个对象中,以便轻松检索任何给定数组(可能利用元数据的树状结构)。
在Matlab中,我曾经将其存储在一个结构中,其中第一层是市场,下一层是安全,再下一层是日期,然后树的末尾是相应的数组。在每个级别,我还存储了该级别的字段列表。
Julia doesn't really have an equivalent to Matlab structures ,那么在 Julia 中执行此操作的最佳方法是什么?
目前,我能想出的最好办法是一系列嵌套的复合类型,每个类型都有两个字段。例如:
type HighFrequencyData
dateList::Array{Date, 1}
dataArray::Array{Any, 1}
end
其中 dateList
存储日期列表,这些日期对应于 dataArray
中保存的 Float64 数组序列(即 dateList
和 dataArray
将具有相同的长度)。然后:
type securitiesData
securityList::Array{String, 1}
highFrequencyArray::Array{Any, 1}
end
其中 securityList
存储与 highFrequencyArray
中保存的 HighFrequencyData
类型序列相对应的证券列表。然后:
type marketsData
marketList::Array{String, 1}
securitiesArray::Array{Any, 1}
end
其中 marketList
存储与 securitiesArray
中保存的 securitiesData
类型序列相对应的市场列表。
鉴于此,所有数据现在都可以存储在 marketsData
类型的变量中,并使用 marketList
、securityList
和 进行查找code>dateList
,在嵌套的每一层。
但是这样感觉有点麻烦...
最佳答案
您的类型层次结构看起来不错,但也许您只需要字典?
all_data = ["Market1" => {
["Sec1" => {[20140827, 20140825], [1.05, 10.6]}],
["Sec2" => {[20140827, 20140825], [1.05, 10.6]}]},
"Market2" => {
["Sec1" => {[20140827, 20140825], [1.05, 10.6]}],
["Sec2" => {[20140827, 20140825], [1.05, 10.6]}]},
...]
println(all_data["Market1"]["Sec1"] ./ all_data["Market2"]["Sec1"])
如果您可以发布 MATLAB 代码的样子,那也可能会有帮助。
我会稍微重新表述你的类型,也许更简单一些,比如
type TimeSeries
dates::Vector{Date}
data::Vector{Any}
end
typealias Security (String,TimeSeries)
typealias Market Vector{Security}
markets = Market[]
push!(markets, [("Sec1",TimeSeries(...)), ("Sec2",TimeSeries(...)])
关于arrays - 如何在 Julia 中以树状结构存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25563113/
我是一名优秀的程序员,十分优秀!