-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
P/L caculation not correct except in the case of Vs-Yen transaction #77
Comments
Jijiを使わずに決済されたポジションの損益が正しく反映されない、という認識でよいでしょうか? 現状ではこのような動作になります。決済されると、ポジション一覧から取得できなくなってしまうため、 ご指摘の通り、transactions で履歴をたどって追跡すれば、正しい損益に修正することは可能ですが、現在は行ってません。 |
はい,そうです。 |
「手動で建てたポジションにもアルゴリズムによる損切ルールを強制する」といったことができるように、Jijiの外で作成されたポジションもJijiで捕捉して処理できるようにしています。 なので、ご指摘の通り、本来はtransactionsをたどって正しい損益に更新するのが理想なのですが、現状では実装できてないです・・・。 |
せっかくのgithubなので,少しずつコード眺めてます。しかしSinatraに不慣れでして……。 |
すみません,思い込みで事実誤認がありました。Jijiを止めていると思い込んでいたのですが, なんと,生きているポジション(trade)のリアルタイム損益,APIで取れないんですね……なんてこった……fxTradeとやらのUIには表示されるのになー あれっ,とすると,実はこれJiji経由で建てたポジションについてもおんなじ現象になったりしませんか?
(いずれにしても,interest分のズレとかも気にし始めると気になるので,やはり履歴が取れるブローカーからは履歴を取って,後でつじつま合わせをするのが望ましいですかね) ちょっとやる気になったのですがSinatraもMongoDBも勝手がよくわからなくて,すみません!(:3 _ )= |
あー、これは不具合ですね。非クロス円のポジションの損益計算で考慮漏れしています。。 |
損益の計算方法って、これであっていますでしょうか? ここで使われている「相対通貨の対円レート」は、(ポジション作成時ではなく)現在の対円レートのように読めます。この通りなら、ポジションを作成した時点の対円レートを記憶しておく必要はないような気がするのですが、どうでしょうか? いろいろ、ややこしいですね・・・ |
すみません,寝ぼけたことを言いました。(ここ数日,思い込みが激しいみたいで。お察しかと思いますが,まだ私はJiji経由の取引ということをひとつもしていません。怪しいことを言っていたらごめんなさい。) (※)あとは,そのレートってmidなの? それとも「損ならask,益ならbid」とかなの? みたいなところは気になります。調べてみるか。。 |
以下の修正を行った Jiji v.1.0.12 をリリースしました。
2に関して、以下の場合には同期が行われませんので、ローカルでの損益計算結果がそのまま使われます。
上記の場合、正しい損益はOANDAのツールを利用して確認してください。 |
jiji停止中にjiji外で 決済された非クロス円ポジションの損益計算が正しくないインストールして動かしてみました。
jiji外での取引データを取り込んで履歴を構築してくれる機能がありますが(/positions の表示まわり),
非クロス円ポジションの損益計算が正しくないです。
たとえば EUR/USD とか AUD/CAD とかの取引ログがまじっていると,集計の数字がめっちゃくちゃになってしまいます。
ここはブローカー側から実現損益の値を取得するのが筋のように思います。
(概算であれば,決済時刻におけるレートを取得して円に換算することもできそうですが)
oanda_api gemのオブジェクトでいうと
OandaAPI::Resource::Transaction#pl
がそれだと思います。OandaAPI::Resource::Transaction#account_balance
も役に立つかもしれません。ご検討ください……。
The text was updated successfully, but these errors were encountered: