問題タブ [quadratic-programming]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
optimization - 特定のリターンに対する quadprog を使用したポートフォリオの最適化は、「制約に一貫性がなく、解決策がない」という結果になります。
quadprog を使用したポートフォリオの最適化に関するいくつかの投稿を読み、このプラットフォームから多くのトリックを学びました。現在、制約の下で quadprog を使用して 03 株のポートフォリオを最適化しようとしています。
- 重みの合計は 1 でなければなりません
- 空売り禁止
- ポートフォリオのリターン = 2%
- 各素材の重量が総重量の 50% を超えてはなりません
私の3株の共分散行列は
在庫リターン/colmeans は Dvec に保存されます
この投稿Portfolio Optimization Constraint Matrix/bvec の説明に記載されているコードと手順を使用しました。同様の投稿ポートフォリオ最適化の制約マトリックス/bvecの説明とRのquadprogパッケージを使用したポートフォリオ最適化の重みに関する制約も読みましたしたがって、私が試したコードは次のようになります
分析は 2 つの等式から始めます。1 つは 100% の投資用で、もう 1 つはポートフォリオの収益用です。別の投稿で、返品が問題を引き起こしている可能性があることを読みました。現在のデータと制約では、探している返品が不可能になる可能性があります。そのため、リターンを別のレベルに変更しましたが、機能しないため、リターンの等価性を緩和し、neq=1 を使用します。それでも機能しません。また、個々の株式に対してさまざまな重みの制約を試しました。つまり、上限を 5% から 80% に変更しようとしました。
注:合計リターンなしでamatとbvevを書くと、コードが機能します。つまり、AとBを次のように使用する場合
それ以外の
私の質問は、上記のコードを使用すると、「制約に一貫性がなく、解決策がありません」と表示されるのはなぜですか? 誰かが私がやっている間違いを理解できるなら、私は感謝しますか? どうぞよろしくお願いいたします。