2008/08/30

Processing(Proce55ing)と流体力学


タイトルほどそんな大層なことはしていないんですが、Proce55ingと流体力学を使用して、川のような流れの中にまるーい物体を入れたときの水流の動きをアートっぽく可視化してみました。結構綺麗な模様ができて、自分としては満足です。

左から右に水が流れているもんだと思ってください。こんな感じに水流は円柱を避けて進んでいきます。

今度は円柱が時計回りに回転して、渦が発生しているようなときの水流の流れ。この渦の流れが強くなっていくと…

こんな感じにどんどんねじ曲がっていって…

最終的にはこんなかんじの、歪んだ水流になってしまいました。
本当は上の画像、アニメーションしてもっと面白い感じの映像になるんですけど、動画のキャプチャの仕方が分からないのでとりあえず画像だけ。

コードはhTakaさんのStreamDrawingの速度場を流体力学のに書き換えただけですし、しかもめっちゃ汚いのでとりあえず非公開です。興味のある方はそちらのコードを参照してください。hTakaさん、どうも有難う御座います。

それにしてもProce55ingはぱぱぱっといろんなことが出来て面白いです。なんかこれ使ってもっと有り得ないような映像できないかな。

2008/08/19

ほんとどうでもいいですけど


(Photo by Jamoker, "The Motion of the Ocean")

ほんとどうでもいいですけどオイラーの運動方程式

に居座っている↑こいつがけっこうかわいいと思っている人はぜったい自分だけじゃないはず。
そんだけです。はいどーでもいー早く仕事しよう。

追記
と思ってたらやっぱ結構いた…
http://www.google.co.jp/search?hl=ja&q=%E3%82%AA%E3%82%A4%E3%83%A9%E3%83%BC%E3%80%80%E6%96%B9%E7%A8%8B%E5%BC%8F%E3%80%80%E3%81%8B%E3%82%8F%E3%81%84%E3%81%84

2008/08/13

どうやらDjangoの登録方法が変更になったみたい

どうやらDjangoはバージョン0.97から管理画面にModelを登録する方法が変更されているみたいで。今までは対象のModelクラスにAdminクラスメソッドを作る方法を採用していたんですが、Modelクラスに管理画面の設定が混在せざるを得ない仕様はやっぱり完璧主義者には馴染めないものだったんですね。

で、具体的にどうするかっていうと対象のアプリケーションディレクトリに新しくadmin.pyファイルを作成して、以下のように記述します。

#!/usr/bin/env python
#-*- coding:utf-8 -*-
from blogs.models import Entry,Blog,Comment
from django.contrib import admin

##
## The Configuration for Admin.
##
class EntryInline(admin.StackedInline):
model = Entry
extra = 1

class BlogAdmin(admin.ModelAdmin):
inlines = [EntryInline]
list_display = ('title','pub_date','user')
list_filter = ['pub_date']

# registration
admin.site.register(Blog, BlogAdmin)

admin.site.register()の部分で管理画面の登録を行ない、具体的な設定は専用のクラスを新しく作成することで解決します。
しかしこのままではadmin.pyが呼び出されないので、プロジェクトのurls.pyの先頭に以下の2行を加えます。

from django.contrib import admin
admin.autodiscover()

これでadmin.pyが呼び出され、無事管理画面の登録が行なわれるようになりました。

Djangoのオンラインドキュメントではmodels.pyに直接Adminの記述を行なっているんですが、これだとviews.pyとかがmodels.pyをインポートしたときに再びadmin.site.register()が実行されてしまいますので、二重登録のエラーが生じてしまいます。モデルと管理画面の設定を分離するという意味でも、こちらのほうがより便利じゃないかなーと思います。

2008/08/11

Django始めました。

っていうとなんか冷やし中華っぽいですよね。

というわけで、新しくDjangoの勉強をすることにしました。ここでジャズ好きの人は「ラインハルトの勉強って…ジャズでも始めたんかい」って思うかもしれませんが、このDjangoはpythonで動くWebアプリケーションのフレームワークなんです。

Django(ジャンゴ)は、Pythonで実装されたWebアプリケーションフレームワーク。 model-view-controller デザインパターンを緩やかに従う。 もともとはローレンス (カンザス州)にある World Companyのために、ニュース系のサイトを管理する目的で開発され、2005年7月に BSD License で公式にリリースされた。フレームワークはバンド gypsy jazz のギタリスト ジャンゴ・ラインハルト にちなんで命名された。(From Wikipedia)

あぁなんてマニアックなんでしょう。すいませんこんなつまんないブログで。でもやってみたかったんです。とりあえず勉強してるんですから、なんか成果を出すことができたらいいですね。

追記
あーでもジャズもなんか面白そうですよね。やってみたい。

2008/08/10

ETF投資を勧めるのはいいけど、数学的ってつけるのはちょっと勘弁

なんか最近ETFと国債のポートフォリオ投資がとても人気なようで、あちこちにETF投資を勧める記事が散見されます。いちいち数千もある資産の変動を考える必要もないですし、なによりCAPM理論によればETFなどのインデックスファンドと国債の組み合わせが最も合理的でパフォーマンスのよいポートフォリオを組めると数学的に証明されているので、そのことも人気の一つとしてあるでしょう。

うーん…別にどうというわけではないんですけど、ETFを勧めている人はもしかしてCAPM理論を未だに信じているんでしょうか?CAPMを使って現在価値の計算をやっている人はもう殆どいないというこのご時世に…
というわけで、とりあえず自分の考えを整理するという意味でも、CAPM理論について書いてみることにしました。

大前提

ETFと国債の組み合わせによるポートフォリオが「数学的に合理的」なポートフォリオとなるためには、以下の4つの仮定を満たすときに限られます。

  1. 全世界のすべての投資家が『マーコヴィッツの平均-分散モデル(mean-variance model)』を元に投資を行なっている。
  2. 投資家のすべてがすべての投資可能な資産について、その期待収益率、分散、共分散に同じ値を付与している。
  3. 無リスク資産の貸し借りに関する一意的な無リスク資産が存在し、取引コストは存在しない。
  4. 投資期間は1期間であるとする。

それではこれらの仮定をもう少し深く見てみることにしましょう。

1.全世界のすべての投資家がマーコヴィッツの平均-分散モデルを元に投資を行なっている。

『マーコヴィッツの平均-分散モデル』というのは全てのポートフォリオの組み合わせの中から最もリスクが低くなるポートフォリオの組み合わせを選択するモデルです。確かにこのモデルが主張していることは、リスクを最大限回避するという意味で重要かもしれません。ですがこのモデルを全ての投資家が利用していると仮定するのには流石に無理があると思います。というか個人投資家でETFは知っていても、このモデルを知っている人は少ないですよね。主従逆転状態です。

2.投資家のすべてがすべての投資可能な資産について、その期待収益率、分散、共分散に同じ値を付与している。

結構きつい仮定です。分散、共分散については過去の値動きから算出できるのである程度同じ値になる可能性はありますが、期待収益率については過去の値動きがまったく当てにならないので、ファンダメンタルズから推測するしかありませんし、その推測も個人でバラバラです。それなのに投資家の全てが同じ期待収益率を推測していると仮定するのはかなりナンセンスな話です。

3.無リスク資産の貸し借りに関する一意的な無リスク資産が存在し、取引コストは存在しない。

これはある程度納得できる仮定です。国債などの流動性が高い無リスク資産においては買値と売値の幅は非常に狭いですし、取引コストも扱う金額が大きければ微小量として無視できるくらいの量です。

4.投資期間は1期間であるとする。

結構この仮定を忘れられている気がします。ETFの投資が合理的になるときの条件は、『1期間(1年間とか1ヶ月とか)』で取引した場合の話であって、多期間で投資した場合では異なった結果が得られます。どういうことかというと、この仮定では1期間の間に新しく売買取引を行なうことができないのです。たとえ暴落、暴騰が起こってもです。理論を簡単にするためとはいえ、現実的でない仮定です。

というわけで

CAPM理論は結構無理な仮定をおいた上で証明してしまった理論なので、これらの仮定を1つでも信じられないという人はあまり使えない理論です。

ただインデックスファンドとアクティブファンドの平均的なパフォーマンスを比べてみると、インデックスファンドのほうが殆どのアクティブファンドよりも良いパフォーマンスを示したということは事実ですので、困ったらETFに投資してみるといいかもしれません。

まとめ

ETFと国債への投資はパフォーマンスは良いかもしれないけど、数学的に信用できるものではない。投資方法の一つとして見るべき。

追記(8/10)
対象の記事にコメントできませんね。なんか本人の知らないところでうだうだ言うのはあんまよくないと思っているので、引用部分を置き換えました。

2008/08/09

原油先物価格が順調に


暴落しています。7月9日の北海道・洞爺湖サミットで、原油価格高騰の解消に向け産油国へ増産を促すことが合意されたことをきっかけに、先物の売りが相次いでいるようです。

米商品先物取引委員会(CFTC)は今回の上昇の原因を単純な需給不均衡と見ているようですが、それだけではここまで急激な一方向の上昇(1年半で2倍弱!)を説明することはできません。少なくとも原因の一つとして投機が絡んでいたことはほぼ確実だと思っていますので、まだまだ価格は下がると予想しています。早くガソリン代が安くなるといいですねぇ。

2008/08/05

Googleのストリートビューが凄すぎる

題名の通り。いつの間にかGoogle マップにストリートビュー機能が追加されていたみたいなので試してみたら、予想以上にインパクトのある機能でした。

何がそんなに凄いのかっていうと、カバーする地域がとても広いところ。右上の「ストリートビュー」をクリックすると道路が青く光るので、見たい地点をクリックしてストリートビューを表示します。画面をドラッグして360度自由自在に動かすことも可能。


(上は自分が住んでいる仙台で最も人通りが多いアーケード街の画像。青い道路ならばどこでもストリートビューで見ることができます。)



(フォーラスが改装中ってことは、7月の中旬か下旬に撮られた?)

いやぁーそれにしてもGoogleは本当にヤバい。自分が普段通っている道路が鮮明に映されるときのインパクトは相当です。
ストリートビューで自分の住んでいるマンションが映されたときはおもわず笑ってしまいました。

(ついでにパリの凱旋門のストリートビューを紹介します。とてもきれい。)