python

論文「Markov Chain Monte Carlo Method without Detailed Balance」の実装

かなり革新的なマルコフ連鎖モンテカルロ法(MCMC)の論文があるという話を友人に聞いて、実際に読んで見たらこれはすごいぞと。・・・ということでさっそく簡易実装。 書いたプログラムは書き捨てのつもりで書いたんでクラスとか使ってない。その論文という…

いろんな言語で配列(リスト・ベクトル)の逆順を出す

#embedly_twitter_50281804{background:url(http://a0.twimg.com/profile_background_images/117348165/tw1.gif) #C0DEED; padding:20px;} #embedly_twitter_50281804 p{background:#fff;padding:10px 12px 0px 12px;margin:0;min-height:48px;color:#000;fo…

zip関数の使い方

備忘録。 タプル(リスト)の組の各要素をひとまとめにしたタプルのリストとして返してくれる。 特にアスタリスク(*)つけた時の挙動が大事。タプルにする”方向”を変えてくれるので超ありがたい。タプルを用意してそれを合体させてみる。 >>> x = (1,2,3) …

scipy.optimizeのメモ

方程式の根を探したり、目的関数を最少化したり。 一瞬で忘れるのでメモ。特にargsを(10,)みたいに書くのを覚えておけ。 # -*- coding: utf-8 -*- from scipy.optimize import brentq from scipy.optimize import fmin def f(x, a): return (x - a)**2 if __…

Scipy Cookbookの粒子フィルタ・パーティクルフィルタ・粒子モンテカルロ・モンテカルロフィルタ(別名あり過ぎだろ…)のサンプルを写経してみた

Scipyにあるcookbookの粒子フィルタの実装を主にpythonのリハビリを兼ねて行った。基本になっているのはCookbook / ParticleFilterのコード。 どうも上のサイトのコードをそのまま動かそうとすると「物体を追跡してるぞ!」感がなくなるのでうまくアニメーシ…

RPy2でpythonからRを呼び出して計算(基本〜線形回帰まで)

インストール〜基本操作〜線形回帰まで。まずは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…

tex(UTF-8)をEUC-JPにコンバートして、そのままPDFにするスクリプト

どうもlinux上のtexはeuc-jpで文字コード処理されるらしく、 UbuntuのデフォルトであるUTF-8ではうまく処理されない。 いちいち文字コードを変換するのが面倒くさいので以下のようなpython scriptを書いた。 #!/usr/bin/env python #-*- coding:utf-8 -*- #y…

リストの要素ごとの積を出す

リストの要素ごとの和を計算するにはsum関数を使用すればよいが、 リストの要素ごとの積を計算する方法がわからなかったので、なんとかしてみた。非常に簡単で >>> values = [1,2,3,4,5] >>> reduce(lambda x,y:x*y,values) 120 とすればOKだった。operator…

日本証券業協会の売買参考統計値を捌く

債券価格データとして利用できる日本証券業協会の売買参考統計値ファイルから価格などを抜き出す関数を書いた。 入力ファイルとして使用している売買参考統計値ファイル(S100125.csv)は http://market.jsda.or.jp/html/saiken/kehai/downloadInput.php か…

日付処理(○営業日後の日付、月末・月初日、第○金曜日の取得)

金融工学を使う実務(雑用)では、小難しい数式よりも「月末日付」や「○○営業日後」などをコーディングする機会が非常に多いのでその辺をまとめておく。 RよりもPythonの方が日付処理周りが充実している気がする&作業自体がpythonに移行しつつあることもあ…