2

ダニのデータを扱っていますが、ダニの価格の変化の分布に関する基本的な情報が必要です。私のデータベースは、10日間のオープン日のダニデータで構成されています。私はティック価格の最初の違いを取りました:

                     Tick spread
2010-02-02 08:00:04   -1
2010-02-02 08:00:04    1
2010-02-02 08:00:04    0
2010-02-02 08:00:04    0
2010-02-02 08:00:04    0
2010-02-02 08:00:04   -1
2010-02-02 08:00:05    1
2010-02-02 08:00:05    1

毎日の最初と最後のティックを提供する配列を作成しました:

       Open  Close
[1,]      1  59115
[2,]  59116 119303
[3,] 119304 207300
[4,] 207301 351379
[5,] 351380 426553
[6,] 426554 516742
[7,] 516743 594182
[8,] 594183 683840
[9,] 683841 754962
[10,] 754963 780725

ダニの経験的分布が広がることを毎日知りたいです。R関数table()を使用できることは知っていますが、問題は、長さが日数によって変化するテーブルオブジェクトを取得することです。2つ目の問題は、ある日は3ポイントのスプレッドしか得られないのに対し、翌日は3ポイント未満のスプレッドしか得られないことです。

初日のtable()出力:

 -3    -2    -1     0     1     2     3 
  1    19  6262 46494  6321    16     2

2日目のtable()出力:

-2    -1     0     1     2     3     5 
27  5636 48902  5588    33     1     1

私が欲しいのは、ダニのサンプル全体のすべてのtable()の出力を含むデータフレームを作成することです。何か案が?ありがとう

4

2 に答える 2

2

as.Date(index(x))行として使用して、2次元テーブルを使用するだけです。

# create some example data
set.seed(21)
p <- sort(runif(6))*(1:6)^2
p <- c(p,rev(p)[-1])
p <- p/sum(p)
P <- sample(-5:5, 1e5, TRUE, p)
x <- .xts(P, (1:1e5)*5)
# create table
table(as.Date(index(x)), x)
#             x
#                -5   -4   -3   -2   -1    0    1    2    3    4    5
#   1970-01-01   22  141  527 1623 2968 6647 2953 1700  538  139   21
#   1970-01-02   31  142  548 1596 2937 6757 2874 1677  529  167   22
#   1970-01-03   26  172  547 1599 2858 6814 2896 1681  504  163   20
#   1970-01-04   23  178  537 1645 2855 6805 2891 1626  537  165   18
#   1970-01-05   23  139  490 1597 3028 6740 2848 1724  505  158   28
#   1970-01-06   21  134  400 1304 2266 5496 2232 1213  397  112   26
于 2012-08-02T14:48:29.260 に答える
0

10日間全体の度数分布が必要な場合は、データを連結して同じことを行います。それはあなたがやりたいことですか?

于 2012-08-02T13:45:33.070 に答える