web-dev-qa-db-ja.com

株式市場シミュレータを設計するのに役立つアルゴリズムは何ですか?

現在、株式市場シミュレーションゲームを構築しています。フロントエンド設計の準備は整っていますが、バックエンドアルゴリズムをどのように設計するかについては、私たちには無知です。

これを機能させるために、どのアルゴリズムを実装する必要がありますか?

PHP/RoR/Pythonでコーディングしています。

すでに存在しているオープンソースシステムがある場合、それを見ることができると、追加のボーナスになります。

3
Eastern Monk

物理シミュレーションでも使用される最も一般的なものは、 モンテカルロ法 です。ファイナンスの計算は複雑であるため、特定のタスク用に設計されたより単純なアルゴリズムで置き換えられることがよくあります(例: Black–Scholes の派生物市場)。 wiki で、モンテカルロ法(および代替法)のファイナンスアプリケーションについて読むことができます。

オープンソースのソリューション?頭に浮かぶのは QuantLib だけです。

3
vartec

それは10億ドルの問題です。 :-)

Steve Keen の調査を調べたり、連絡を取ったりすることもできます。彼は電車のエンジニアで、モデルをあちこちのブログに投稿しています。もしあなたが彼のモデルを実装していて、何らかの形で共有しているなら、彼があなたたちと協力することにオープンであっても私は驚かないでしょう。 (例:モデル自体、およびモデルを使用して生の結果を彼と共有することで、市場ダイナミクスのライブ調査を実施します。)

Barry Ritholtz は、ほぼ同じアイデアの別のオプションかもしれませんが、彼は実際の会社を経営しており、モデルは非公開/専有であることに注意してください。だから私は彼らが公然とそれらを共有することを疑います。 (同じことが多くのヘッジファンドや銀行にも言えるでしょう。)

そうでなければ、ウィキペディアが面白いと思うかもしれません:

http://en.wikipedia.org/wiki/Financial_modeling

これらの問題は、多くの場合、確率論的で連続的であり、したがって、ここでのモデルは、コンピュータシミュレーション、数値微分方程式などの高度な数値法、最適化モデルの開発など、複雑なアルゴリズムを必要とします。これらの問題の一般的な性質については、「金融市場のモデリングと分析」で説明し、特定の手法については、「金融の概要:数学ツール」で説明しています。

1

ゲームシミュレーションでは、疑似乱数ジェネレータに大きく依存します。十分に難読化されている場合、プレイヤーはそれを知ることはなく、ほとんど問題にならないほど現実に十分近くなります。

各アイテムにランダムな初期「真の値」を割り当て、正弦波パターンまたは変動する周期と振幅を持つ何かで変動させます。カテゴリーの変動と1つの包括的な変動が役立ちます。したがって、世界的には価格が上昇する可能性がありますが、fubar業界はそれほど熱くはありませんが、特定のfubarのメーカーは破綻しており、実際にお金を失っています。
カテゴリは、業界、地域、大企業に似た名前の全員、またはゲームに適合するものであれば何でもかまいません。
特定の会社、カテゴリ、またはグローバルイベントのニュース価値のあるイベントをランダムな時間に振りかけることができます。スパイク、クラッシュ、今後5年間のわずかな増減など。

しかし、それがすべて「真の価値」です。これは主に株には無関係です。ですから、自分のキャッシュフローと利益で売買するための一連のポリシーに従ったエージェントがたくさんいるでしょう。プレーヤーまたはエージェントの1人が売買したい場合、彼はエージェントが同意する申し出をしなければなりません。誰かが必然的に破産し、別の誰かが生まれる。
1人のエージェントは、正気で合理的であり、滑稽な手帳で十分な情報を得ます。彼は真の価値が何であるかを知っており、大幅な遅延の後に価格が良ければ売買します。彼は一般大衆になることになっていて、物事が奇妙になりすぎないようにしています。
残りはポリシーに従い、真の価値と将来の傾向を推測しようとするパターンを分析します。
長期にわたる成長を見たときはいつでも買うでしょう。平置きでの販売です。
彼が金銭を作らなければ、人は決して売れません。
古典的なポンプとダンプのスキームを試すでしょう。
等々。これが、QuantLibを適用するポイントであり、数学的ファイナンスに関するその他の回答です。

0
Philip