2010-01-01から1年間の記事一覧
FRBのサイトからアメリカの金利の期間構造が取得できることをたまたま発見したので、よく言われるように金利の変動が「パラレル」「ツイスト」「バタフライ」の三要因で大半が説明できているのかを実際に主成分分析して見てみた。データはData Download Prog…
RをwindowsにインストールするとbinフォルダにR.dll等のDLLが一緒にインストールされる。 この中にはRで使われている関数が入っているようで、これをMicrosoft Visual Studio C++ 2010から呼んでみた。呼び出し方法は通常DLLを動的にロードするのとまったく…
Scipyにあるcookbookの粒子フィルタの実装を主にpythonのリハビリを兼ねて行った。基本になっているのはCookbook / ParticleFilterのコード。 どうも上のサイトのコードをそのまま動かそうとすると「物体を追跡してるぞ!」感がなくなるのでうまくアニメーシ…
すぐ忘れそうなので超丁寧にメモ。 VC++を起動後、「ファイル」→「新規作成」→「プロジェクト」と選択 「Win32 プロジェクト」を選択して適当に名前を付けて保存。ここでは名前、ソリューション名共に”dll_vba”とした。 「次へ」を押下して、「DLL」を選択し…
Rのdata.frame型データは通常 #1〜5個目のレコードを抽出 iris[1:5,] #Species列の値が"setosa"であるものだけ抽出 subset(iris ,Species=="setosa") のような形で元のデータフレームの部分集合として抽出するわけですが、どうもこの書き方が苦手。 そして…
第1回 Japan.R 午後の部で金融系セクションを設けていただいて話した。 当日使った資料 PDF版が欲しいという奇特な方はコチラ(PDF)から落として下さい。以下、上記資料を作成するために使用したコード。 パッケージは適当にinstall.packages()関数でインスト…
CDOのプライシングに使われる(ていた?)One-Factor Gaussian Copulaモデルを使ってデフォルト相関を計算。 具体的にはThe One-Factor Gaussian Copula Applied To CDOs: Just Say NO (Or, If You See A Correlation Smile, She Is Laughing At Your “Resul…
NtRandはニューメリカルテクノロジー社さんが作られてフリーで公開されているExcel用乱数生成関数アドインです。 公式サイトはコチラ。 これでもうVBAの質の悪い一様乱数生成器Rnd()関数を使うのやめようね!まずは http://www.ntrand.com/jp/download/ から…
Rだとサクっとかけるという話。実質1行。 N <- 10 T <- 100 path <- apply(matrix(rnorm(N*T),nrow=T,ncol=N),2,cumsum) matplot(path,type="l",ylab="Value",xlab="Time") 実行すると な感じで図が出力。path変数には各経路の軌跡がはいってる。 くそう、p…
コレスキー分解を使用するときに行列を転置するかしないかとか、行列積の順番を忘れて紙で計算しなおすということをしたあげく 毎回似たようなコードを書いていたのであほくさいなーと思ったり、それで乱数作ろうとしたときに 相関行列の固有値が負になって…
LAMP環境を構築したのでブログも導入してみた。 入れるのはWord Pressという奴。 前回同様、UbuntuにWordPressをインストールの方のBLOGがわかりやすいのでマネる。シェルからmysql立ち上げる $ mysql -u root -p Enter password: Welcome to the MySQL moni…
タイトルにあるように基本俺用。VPSをレンタルしたのでそのへんいじったところをまとめる。サーバーはUbuntu10.04。 ちなみにこういうサーバー云々に関してはど素人です、はい。まずシェルがdashとかわけわかんない奴になってて使いにくいのでbashへ変更。 $…
前回「マルコフ連鎖モンテカルロ法入門-1」として作成した資料の続きとして「連続モデル(連続確率分布)をマルコフ連鎖モンテカルロ法で作る方法、熱浴法・メトロポリスヘイスティング法とは何か」を解説した資料を作成した。 前回のよりも内容が難しいので…
※xtsの使い方自体はxtsライブラリを使ってみるー1、xtsライブラリを使ってみるー2参照のことcsvファイルに金融時系列データを保存する場合、「1列目:日時、2列目以降:資産価格」のようなフォーマットが多い(Excel脳) このようなデータをRで扱う場合…
fguiというパッケージを使うとRでGUIアプリっぽく関数計算できる物を超簡単に作れる。 以下のコードを実行すると・・・ install.packages("fgui") library(fgui) #実行すると・・・・ gui(function(x){sum(x)}) のようなGUIアプリが起動するので、Xに適当に…
その1はこちら「xtsライブラリを使ってみるー1」マニュアルを読み込んで大体(私が)使いそうな関数をその1の記事と合わせて以下のサンプルで網羅した感じ。 特にlag関数の挙動が大事。 library(xts) #前回同様、サンプル行列で試す data(sample_matrix) …
(その2はコチラ) 先日、R勉強会に参加させていただいたときに 「時系列のデータ構造を扱う際にはxtsパッケージが便利なのではないか?」 というアドバイスをいただいたので使ってみる。まずはマニュアルのほぼ写経コード library(xts) data(sample_matrix…
ネット上で見かけるマルコフ連鎖モンテカルロ法資料はどうも小難しいので、 マルコフ連鎖モンテカルロ法は全然難しくないということを伝えるべく平易に解説した資料を作ってみた。2状態離散モデルの解説を中心に、メトロポリス法の解説までを行った。 余裕…
数値を文字列に変換する時、頭に0を詰めたい時がある。たとえば >x <- 1:10 >x [1] 1 2 3 4 5 6 7 8 9 10 とベクトルを定義した時に "00","01","02","03","04","05","06","07","08,"09","10" みたいに文字列として出力したいケース。この時はformatC関数を…
ある一定期間のリスク・リターン計算をする時など、 ベクトルの一定範囲に関数を適用しながら逐次計算していく処理(ローリング処理)をすることが多いので、関数にしておく。 apply.roll <- function(x,size.window,func){ result <- numeric(length(x) - s…
Rでもpythonと同じようにreduce関数があるようだ。 試しにベクトルの要素の和を出してみると >Reduce(function(x,y)x+y,c(1,2,3,4,5)) [1] 15 とちゃんと動作する。
インストール〜基本操作〜線形回帰まで。まずはaptでインストール。 sudo aptitude install python2.6-rpy2ubuntu便利。パッケージのインポート&rに対するインターフェイスオブジェクトを生成。 基本的にこのオブジェクトを介してRを操る。 import rpy2.rob…
pythonで正値対称行列をコレスキー分解する関数。 例にあるように、リストのリストで行列を作成して使用する。 def cholesky_decomposition(matrix): size = len(matrix) result = [[0.0 for x in xrange(size)] for x in xrange(size)] for i in xrange(siz…
「Rで学ぶ金融工学入門〜現代ポートフォリオ理論偏〜」というタイトルで発表してきた。 以下、その資料Tokyo.R(#06)View more presentations from teramonagi.以下、ソースコード quadprog,RFinanceYJのインストールが必要。 library(quadprog) library(RFin…
まずはフォントのインストール sudo apt-get install ttf-ipafontそれからこのフォントへのシンボリックリンクを張る。 sudo mkdir /usr/share/texmf-texlive/fonts/truetype sudo ln -s /usr/share/fonts/truetype/ipafont/ipam.ttf /usr/share/texmf-texli…
投資可能領域を描画する時等、ポートフォリオウェイトの可能な全ての組み合わせのが欲しい場合があるのでそれを返す関数を作成した。 combination.constantsum <- function(num,val.step,val.current=1) { if(num==1){ return(val.current) } result <- NULL…
どうもlinux上のtexはeuc-jpで文字コード処理されるらしく、 UbuntuのデフォルトであるUTF-8ではうまく処理されない。 いちいち文字コードを変換するのが面倒くさいので以下のようなpython scriptを書いた。 #!/usr/bin/env python #-*- coding:utf-8 -*- #y…
ubuntu linux上で install.packages("XML")として、RのXMLパッケージをインストールしようとしたら、 * installing *source* package ‘XML’ ... checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C…
http://www.amazon.com/dp/0387004513/のP110をそのまま実装。 #create short rate path by one factor stationary Vasicek model #alpha:緩和時間の逆数 #b:回帰水準 #dt:時間刻み幅 #endTime:終了時間 #initialRate:初期時点での金利 StationaryVasicek …
パッケージがどこにインストールされているのかわからなくて困った。 そういう時は.libPaths()を実行すればOK。 > .libPaths() [1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" [3] "/usr/lib/R/library"