-1

私はRとコーディング全般が初めてなので、ご容赦ください。

金融オプション価格の巨大な .csv ファイルがありますが、一部はコール ('c') で、一部はプット ('p') であり、単純に 1 つの連続したリストになっています。.csv ファイルでは交互に表示されるため、1 つの行がコールのデータになり、次の行が同じ期間の同じ証券のプットのデータになります。コール (プット) のデータだけを解析するにはどうすればよいですか?

また、データは日付順に並んでいますが、日付ごとに複数のデータ(日中データ)があります。これらの日中データ ポイントのうち、複数の異なる価格の (出来高) データがあります。1日あたりのさまざまな価格で、上記のデータの正規分布を構築したいと思います。どうすればいいですか?

symbol  exchange    date    stock_close_price   option_symbol   expiration  strike  call/put
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00015000   8/18/12 15  C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00015000   8/18/12 15  P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00017500   8/18/12 17.5    C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00017500   8/18/12 17.5    P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00020000   8/18/12 20  C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00020000   8/18/12 20  P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00022500   8/18/12 22.5    C
ALSN    NYSE    7/23/12 17.71   ALSN  120818P00022500   8/18/12 22.5    P
ALSN    NYSE    7/23/12 17.71   ALSN  120818C00025000   8/18/12 25  C
4

1 に答える 1

0

データが R データフレーム "dfrm" にあり、列 "transtype"、"trans_date_time"、"volume" があり、日時の値が POSIXct 形式である場合、コール トランザクションのボリュームの日次サマリーが生成されます。 . 「1日あたりのさまざまな価格で上記のデータの正規分布を構築する」とはどういう意味かわかりませんが、histプロット機能で簡単に実行できる1日のボリュームの分布を表示することを意味する場合.

set.seed(123)
dfrm <- data.frame(transtype = c("c","p")[sample(1:2, 20, rep=TRUE)], 
                   trans_date_time = as.POSIXct( Sys.Date() - 20) + 
                                         rnorm(100, 24*60*60, 3*24*60*60) , 
                   volume = 100*rpois(100, 5) )
str(dfrm)
dailycallvol <- with( subset( dfrm, transtype == "c"), 
                    aggregate( volume,
                      by = list( day= format(trans_date_time, format="%Y-%m-%d")),
                      FUN=sum) )
hist( dailycallvol[[2]] )

ここに画像の説明を入力

于 2012-08-25T18:36:12.107 に答える