4

私が理解できなかったアルゴリズムに関連しているので、これが閉じられないことを願っています(それがどのように行われるかについて私がとても混乱しているので、それもかなり長いです)。基本的に何年も前、私は投資信託で働いていました。さまざまなツールを使用して、ポートフォリオの最適化を選択したり、既存のポートフォリオをヘッジしたりしました。これらの結果を取得し、独自の変更を加えてから、クライアントに販売します。会社の規模を縮小した後、試してみたいと思いました(ソフトウェアを作成してカスタマイズを含める)が、ソフトウェアの組み合わせが実際にどのように生成されるのかわかりません。

6か月間試した後、私は自分のアプローチが不可能であることを受け入れています。私はKnuthの本のような組み合わせアルゴリズムを使用しようとしていbitました。また、NYSE(5,000以上の株)で可能なすべてのポートフォリオ(30株に制限)を見つけるために組み合わせを行っていました。しかし、私が話したすべての人によると、これは1日の結果を得るのに数十億年かかるでしょう(GPUの場合、2日間の連続処理後に停止しました)。

だから私は何が欠けていますか?リスク許容度と市場の見方(株式市場の成長期待、インフレ期待、フェデラルファンド期待など)を入力すると、数秒/分以内に理想的なポートフォリオ(理論的には..)が得られます。何千もの可能性と数千億の可能性のある株式の重みの組み合わせで、どのようにして結果をこれほど迅速に(またはまったく)計算できるのでしょうか?システムの管理者として、私たちは毎日ファイルをダウンロードしたことを知っています(100 mb未満で、mssqlデータベースにロードされたのはおそらく市場データだけです。したがって、すべての可能性があるわけではありません。上記のアプローチを使用すると、5ギガになります。私のバージョンのKnuthを実行するのに1分でファイルする sコンビネーションアルゴ)とアプリケーションはオフラインで動作しました(したがって、どこかの大規模なスーパーコンピューターではなく、デスクトップ/ラップトップCPUでローカルに実行されていたはずであり、実行に1〜2分かかりました..15分は世界基金にとって最長でした世界のすべての在庫が含まれます)。彼らの仕事はファンド全体の相関関係を必要としたので、それはとても混乱しています(みんなが異なる結果を得たので、彼らが事前に計算したトップ株を送っていたとは思いません)。では、2%のリターンがあり、市場と負の相関関係があり、60%がヘッジされている、30株のファンドが必要な場合、ソフトウェアは何十億もの可能性からそのポートフォリオをいかに迅速に生成できるでしょうか。注意してください、私は数学や財政の部分について尋ねていません、私は」

では、これはプログラムでどのように行われているのでしょうか。私は、彼らがすべての可能性を生成するためにKnuthの組み合わせアルゴリズムを使用していないと信じ始めていますが、結果はランダムに選択されているようには見えず、株式を個別に選択すると相関部分が失われているようです。どうしてこんなに多くの投資ソフトウェアがこのようなことをすることができるのでしょうか?

4

2 に答える 2

3

そのようなアルゴリズムは、ほぼ確実にすべての可能性を生み出すわけではありません-あなたが正しく観察するように、それは非現実的です。

ただし、ポートフォリオの選択は、非常に良い答えが得られる他の手法を使用して行うのは非常に簡単です。最も可能性の高い2つは次のとおりです。

  • リスク/リターンに関する仮定を単純化すると、数学的に最適なポートフォリオを解くことができます(いくつかの計算についてはhttp://en.wikipedia.org/wiki/Capital_asset_pricing_modelを参照してください) 。
  • ランダム化されたサンプルポートフォリオに対して突然変異/クロスオーバー操作を行う遺伝的アルゴリズムは、非常に優れたソリューションを非常に迅速に見つけます。これをモンテカルロスタイルのモデリングアプローチと組み合わせて、考えられる結果の範囲を理解することができます。

個人的には、遺伝的アルゴリズムのアプローチをお勧めします-数学的に純粋ではありませんが、それはあなたに良い答えを与え、あなたがそれに投げたい制約を非常に簡単に処理できるはずです(例えばポートフォリオの最大株数)

于 2012-05-20T02:24:49.527 に答える
2

現代ポートフォリオ理論はそれ自体が主題であり、「現代ポートフォリオ理論と投資分析」などの本や、http://en.wikipedia.org/wiki/Modern_portfolio_theoryで紹介されています。

実際に解決できる問題を取得する1つの方法は、それを数理最適化問題として扱うことです。購入する各株式の量を示すベクトルがある場合、さまざまな仮定の下で、リターンはこのベクトルの線形関数であり、リスクはこのベクトルの2次関数です。与えられたリスクのリターンを最大化すること、または与えられたリターンのリスクを最小化することは、非常に多数の株式であっても、よく理解されている数学的問題です-http://en.wikipedia.org/wiki/Quadratic_programming

これに関する実際的な問題の1つは、市場に出回っているほとんどすべての株の一部を購入するという答えが得られることです。私の推測では、実際のプログラムでは、実際に購入する準備ができている株の数に制約があり、完全な答えを保証しない「秘密のソース」ヒューリスティックを使用していますが、実際にはかなりうまく機能します。完全な答えを返すことは難しい問題のようです-例えばhttp://arxiv.org/ftp/arxiv/papers/1105/1105.3594.pdfを参照してください

于 2012-05-20T05:11:05.657 に答える