問題タブ [finance]
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.
c++ - キャッシュフローの財務モデリングにおける継承と特定のタイプ
フローのスケジュールを表す必要があるいくつかの金融アプリケーションをプログラムする必要があります。フローには次の 3 つのタイプがあります。
- 料金の流れ(ある日の一括払いのみ)
- 変動金利フロー (フローは、後日決定される金利に依存します)
- 固定金利フロー (フローは取引完了時に決定される金利に依存します)
情報全体を保持する必要があり、これらのフローのスケジュールを表す必要があります。もともと私は継承を使用して3つのクラスを作成したいと思ってFeeFlow
いました.FloatingFlow
FixedFlow
ICashFlow
GetFlowType()
dynamic_cast
そうすれば、vector<IFlow>
私のスケジュールを表すものを 1 つだけ持つことができます。
このデザインについてどう思いますか? 3 つの vectorvector<FeeFlow>
を使用し、動的キャストを避ける必要がありますかvector<FloatingFlow>
?vector<FixedFlow>
matlab - MATLAB で株式のヒストリカル ボラティリティを計算するにはどうすればよいですか?
シミュレートされた過去のオプション データを作成したいと考えており、過去の株価から過去のボラティリティを計算する必要があります。これを行う組み込み関数はありますか?式はありますか?
python - ネストされたループを高速化するには?
以下に含まれるpythonでネストされたループを実行しています。これは、既存の金融時系列を検索し、特定の特性に一致する時系列の期間を探す基本的な方法として機能します。
この場合、「終値」(つまり、資産の価格) と「ボリューム」(つまり、期間中に交換された資産の金額) を表す、同じサイズの 2 つの別個の配列があります。期間ごとに、長さが 1 ~ の将来のすべての間隔を楽しみにしてINTERVAL_LENGTH
、これらの間隔のいずれかに検索に一致する特性があるかどうかを確認します (この場合、終値の比率は 1.0001 より大きく、1.0001 より小さくなります)。 1.5 で合計ボリュームが 100 より大きい)。
私の理解では、NumPy を使用した場合の高速化の主な理由の 1 つは、配列全体を操作している限り、インタープリターが何かを評価するたびにオペランドを型チェックする必要がないことです (例: numpy_array * 2
) 、しかし明らかに以下のコードはそれを利用していません。
内部ループをある種のウィンドウ関数に置き換えてスピードアップする方法、またはnumpy
/scipy
を使用してネイティブ python で大幅にスピードアップする方法はありますか?
あるいは、一般的にこれを行うためのより良い方法はありますか (たとえば、このループを C++ で記述して weave を使用する方がはるかに高速でしょうか)?
vb.net - .NET NPV() はどの関数を使用しますか? 手計算と一致しない
VB.NET で NPV() 関数を使用して、一連のキャッシュ フローの NPV を取得しています。
ただし、NPV() の結果は、手動で計算を実行した結果と一致しません (手動の結果と一致する Investopedia NPV 計算も同様です)。
私の正しい手動の結果と NPV() の結果は 5% 以内で近いですが、同じではありません...
NPV 式を使用して手動で: NPV = C0 + C1/(1+r)^1 + C2/(1+r)^2 + C3/(1+r)^3 + .... + Cn/(1 +r)^n
手動結果は、レート r = 0.04 および期間 n = 10 で RunningTotal に格納されます。
これが私の関連コードです:
編集:どこかにOBOBがありますか?
編集: 次の値を使用: 割引率 = 4% プロジェクトの寿命 = 10 年 キャッシュ フロー 0 = -78110.00 キャッシュ フロー 1 = 28963.23 キャッシュ フロー 2 = 30701.06 キャッシュ フロー 3 = 32543.12 キャッシュ フロー 4 = 34495.71 キャッシュ フロー 5 = 36565.45 キャッシュフロー 6 = 38759.38 キャッシュ フロー 7 = 41084.94 キャッシュ フロー 8 = 43550.03 キャッシュ フロー 9 = 46163.04 キャッシュ フロー 10 = 48932.82
http://www.investopedia.com/calculator/NetPresentValue.aspxで計算機を使用し 、手動の「教科書」式に従って、同じ結果に到達します。
正味現在価値: $225,761.70
この結果を再現するために NPV() を取得できないようです... $217,078.59 を吐き出します
同じ値の例を使用して手動で反復します...したがって、彼らは私とは異なる関数を使用している必要があります...
MSDN ページの例では、初期費用をキャッシュ フロー リストに含める必要があることが明確に示されています。
matlab - ブラックショールズ方程式を使用してショートオプションコールの値を計算する方法は?
将来のさまざまな時点でのショートコールの損益を計算しようとしていますが、正しく計算されていません。満期時と比較して、残り時間のあるものは行使価格を超える利益は少なくなりますが、行使価格を下回るある時点で、t=0ラインほど速く価値を失うことはありません。以下は擬似コードの式です、私は何を間違っていますか?
実際のMATLABコード:
終わり
ありがとう、CP
api - ポートフォリオ管理 API
Stock/Fund GIPS Portfolio API を知っている人はいますか。オープン ソース バージョンが望ましいでしょう。ありがとう、j。
.net - 高頻度金融における C++ と仮想マシン言語のパフォーマンス
C/C++ 対 C#/Java のパフォーマンスに関する質問は十分に検討されていると思いました。つまり、VM 言語が必ずしも「シリコンに近い」言語よりも遅いというわけではないことを示唆する十分な証拠を読んだということです。主な理由は、静的にコンパイルされた言語ではできない最適化を JIT コンパイラが実行できるためです。
しかし、私は最近、Java ベースの高頻度取引は常に C++ に打ち負かされ、そのような状況にあったと主張する人物から履歴書を受け取りました。
求人サイトをざっと見てみると、実際に HFT の応募者には C++ の知識が必要であることがわかります。Wilmottフォーラムを見ると、すべての実務家が C++ について話していることがわかります。
これが事実である特定の理由はありますか?現代の金融ビジネスはいくぶん複雑であるため、型安全性、マネージ メモリ、豊富なライブラリを備えた VM 言語が好まれると考えていたでしょう。その分、生産性は高くなります。さらに、JIT コンパイラーはますます良くなっています。プログラムの実行中に最適化を行うことができるため、その実行時の情報を使用して、管理されていないプログラムのパフォーマンスを打ち負かしていると思います。
おそらく、彼らは重要な部分を C++ で書き、管理された環境 (P/Invoke など) からそれらを呼び出しているのでしょうか? それは可能ですか?
最後に、これの中心的な質問の経験がある人はいますか?それが、この分野で管理されていないコードが管理されているコードよりも間違いなく好まれる理由です?
私が知る限り、HFT 担当者は入ってくる市場データにできるだけ速く反応する必要がありますが、これは必ずしも厳しいリアルタイム要件ではありません。遅いと不利になるのは確かですが、各応答で特定の速度を保証する必要はありません。高速な平均が必要なだけです。
編集
そうです、これまでのところいくつかの良い答えがありますが、かなり一般的です (よく踏まれた場所)。HFT 関係者が実行するプログラムの種類を指定させてください。
主な基準は応答性です。注文が市場に出たら、最初に反応できるようにしたいと考えています。あなたが遅れた場合、他の誰かがあなたの前にそれを引き継ぐかもしれませんが、各企業はわずかに異なる戦略を持っているので、1 回の繰り返しが少し遅くても大丈夫かもしれません.
プログラムは終日実行され、ユーザーの介入はほとんどありません。新しい市場データを処理する関数は、1 秒間に数十回 (場合によっては数百回) 実行されます。
これらの企業は通常、ハードウェアの価格に制限がありません。
api - ティッカー シンボルを指定して完全な会社名を検索する API が必要
クライアント側の Javascript 内から、ティッカー シンボルが指定された完全な会社名を見つける方法が必要です。私は次の Yahoo Finance のインターフェースを認識しています。
http://finance.yahoo.com/d/quotes.csv?s=TKR&f=n
YQL経由でアクセスできます(これはクロスドメインであるため)。ただし、それは完全な会社名を返すわけではありませんが、Yahoo Finance は、会社のグラフと会社に関するページに表示されるため、完全な会社名を返します。
解決策が Yahoo Finance 経由である必要はありません... 私はすでにそれについて知っているので、ここで言及するだけです (そして、他のデータのためにアクセスしています)。
api - 銀行取引データベース
mint.com は、私の当座預金口座で取引を行った会社と、その会社の典型的な製品カテゴリを特定できるようです。この情報は、金融取引の取引者/説明フィールドから得られたものだと思います。
プログラムで同じことを行うために使用できる無料の公開データベースまたは API はありますか?
api - 世界規模の株式市場のリアルタイム クォート アプリケーション プログラミング インターフェイス (API) はありますか?
少なくとも次の証券取引所の複数の企業シンボルに関する相場やその他のデータにアクセスできるアプリケーション プログラミング インターフェイスを探しています。
Google と Yahoo の金融はどちらも、アメリカとヨーロッパの市場に限定しているようで、データも遅れています。Interactive Brokers は API ( http://www.interactivebrokers.com/en/pagemap/pagemap_APISolutions.php ) を提供していますが、詳細を共有しておらず、10.000 米ドルと数百ドルを入金せずに API を使用することはできません。月。これは、試してみるには高すぎます。
私のニーズに合う API はありますか?
前もって感謝します。