ロボット開発情報

取引回数とシュミレーション結果の信頼性について考える-2

2008年1月~2009年2月に使用した「2008年モデル」と2009年3月から使用している「2009年モデル」の性能を、今年の日経225miniのデータでシュミレーションし比較してみました。結果の損益グラフは以下の通りです。
Graph_2

青い線が「2009年モデル」、赤い線が「2008年モデル」です。どちらもトレンドフォロー戦略ですが、2009年モデルの方が慎重に行動する(取引回数が少なくなる)よう作っています。旧式のシュミレーション結果の方が2倍以上の損失ですので、3月の変更は間違いではなかったように見えますが、現状のシステムを使い続けることには疑問を感じてます。去年の10月中旬以降のようなチャンスがこないとも限りませんので、今年も去年と同様のルール(損失がシュミレーション時の最大ドローダウンの2倍を超えた場合リアル取引中止)で観察しようと思います。ここ数ヶ月のデイトレは逆張りでしか取りようのない相場に見えますので、今の戦略が脆弱で将来的にも無用なのか、ただ不運が続いているだけなのかの判断が難しいです。

| | コメント (0) | トラックバック (0)

シグナルボックスエディタv1.00とSignalSandBox

シグナルボックスエディタがv1.00にバージョンアップしました。さらに、作成したシグナルボックスをお試しで使ってみることのできるSignalSandBoxをメインサイトで公開しました。SignalSandBoxはWebでFX8通貨7年分のデータを使ってバックテストをすることができるサービスです。SignalSandBox対応のサンプルやひな形をシグナルボックスエディタv1.00にアーカイブしましたのでよかったら使ってみてください。

| | コメント (0) | トラックバック (0)

オープンソース(LGPLv3)のトレードシステム部品をSOURCEFORGEで公開しました

トレードロボット基本コンポーネントパッケージをRobotTraderLibraryに名称変更し、ソースをSOURCEFORGEで管理するようにしました。バージョンはv2.00にアップしています。ソースの入手方法などメインサイトに載せています。このライブラリは現状本稼動中のトレードシステムで実際に使っており、現在ほとんどバグは出ていませんので比較的安定しているのではと思います。

また、ライセンスを今までのBSDライクなものからLGPLv3に変更しました。これでRobotTraderLibraryから派生したライブラリはオープンソースであることを義務付けられ、将来的にこのライブラリを独占されることはありません(私を含めて他の誰にも)。また、ライブラリの母体となるアプリケーション(呼び出し元)はオープンソースにしなくてもよいライセンスなので(詳しくはGNUからでているライセンスを参照ください)、安心して利用できるのではと思います。

トレードシステムの肝心要な売買ルール部分は誰も公開しないと思いますが、証券会社との通信処理やテクニカル指標の算出など共有可能なプログラム部品については、いろいろな開発者の方々の手によってメンテ、機能アップされた方が全トレードシステム開発者にとってメリットであると思いオープンソース化しました。ぜひ皆様もお気軽に開発に参加していただければと思います(Eclipseがあれば実現できます)。参加希望の方はメールをいただければ必要な情報を返信します(メールアドレスはメインサイトを参照ください)。

| | コメント (0) | トラックバック (1)

Eclipse3.5(Galileo)を使い始めました

Eclipse3.5(Galileo)を使い始めました。Eclipse3.5(Galileo)のインストール手順やPleiadesによる日本語化の方法、GUIアプリケーションの開発効率をあげるプラグインVisualEditorのインストール方法をまとめてメインサイトにアップしました。

| | コメント (0) | トラックバック (0)

https通信の内容をモニタして解析する(フリーソフトBurpSuiteでキャプチャ)

証券会社のサイトからの気配情報取得や発注処理を作りこむ時、なかなかうまく行かず壁にあたってしまった場合はIEなどのブラウザから実際に発注をしてみて、その通信内容をキャプチャしたいところですが、通信内容がhttpsで暗号化されているため、wiresharkなどのパケットモニタツールでは内容を解析することができません。このような場合はBurpSuiteというツールを使うと便利です。IEなどでこのBurpSuiteをProxyにして通信をすると、通信内容のすべてを見ることができます。使い方は以下のとおりです。

(1)BurpSuiteを以下の場所からダウンロードする。
http://portswigger.net/suite/download.html
・上記のページで「Download free edition」ボタンをクリックします。
・zipのリンクが現れるのでダウンロードします。この記事を書いた時はburpsuite_v1.2.01.zipでした。

(2)zipを解凍してsuite.batを起動します。画面がたちあがります。

(3)ブラウザでlocalhostのポート8080をproxyに設定します。
IEの場合はツール→インターネットオプションで接続タブを開きLANの設定ボタンをクリックします。その中のプロキシサーバーのところのアドレスにlocalhost、ポートに8080を入力します。「~プロキシサーバーを使用する」にもチェックします。

(4)証券会社のサイトにアクセスします。するとburpsuiteの画面のproxyタブが赤くなるのでこれをクリックします。

(5)リクエスト内容が表示されています。「forward」ボタンをクリックして通信を進めます。ブラウザが通信中でなくなるまで「forward」ボタンをクリックし続けます。

(6)historyタブを開くとそこまでの通信履歴を見ることができます。さらに表から各通信をクリックするとrequestとresponseタブでそれぞれの通信内容を見ることができます。

| | コメント (0) | トラックバック (1)

証券会社PCサイトでの自動発注(クリック証券に挑戦)

トレードロボットの自動発注処理は携帯サイトやPDAサイトなどのようにHTMLがシンプルなサイトを選んで作りこんでいますが、今回クリック証券のPCサイトでの発注に挑戦してみました。トレードロボット基本コンポーネントパッケージを使って気配情報取得や新規発注を実装しましたが、携帯サイトやPDAサイトなどと違いJavaScriptとhtmlが複雑に絡み合っていますのでどうしても手間がかかります。

JavaScriptなしのサイトはHtmlParserクラスのparseHtmlFormメソッドを使って生成したHtmlFormに発注数や発注条件をセットしてsendForm(Webクラス)するだけでよく、hidden項目などには何もしなくていいのですが、PCサイトではHTMLに書かれているformの要素をJavaScriptで編集しているケースが多く(クリック証券の場合はToggle系やformの送信先URL)、この部分の解析とプログラミングに時間がかかります。

今後FXの自動発注処理を作っていく予定ですが、HTMLがシンプルなサイトを選ぶことになりそうです。

| | コメント (0) | トラックバック (0)

トレードロボット基本コンポーネントパッケージv1.20とシグナルボックスエディタβ2.10を公開しました

トレードロボット基本コンポーネントパッケージv1.20とシグナルボックスエディタβ2.10をメインサイトで公開しました。大きく変わった点は以下の通りです。

  • トレードロボット基本コンポーネントパッケージ
    今までSignalStreamやSignalBlockのgetSignalメソッドでシグナルを取得していたところをgetJudgmentResultメソッドで取得するように変更しました。
  • シグナルボックスエディタ
    リレーション削除の操作方法を変更しました。
    リレーション削除ボタンをクリックしてキャンバスをドラッグすると線が表示されるようになっています。この線を削除したいリレーションと交差させるとリレーションが削除されます。複数リレーションを一度に削除できるようにするためこのように変更しました。

| | コメント (0) | トラックバック (0)

JavaのHttpURLConnectionのdisconnect()メソッドで認識違い(FIN,ACKパケットは流れない)

トレードロボット基本コンポーネントパッケージのWebクラスではWebサイトからhtmlを取得する時の処理の流れを以下のようにしています。

(1)HttpURLConnectionのconnect()を実行
(2)HttpURLConnectionのgetResponseCode()をした上でgetInputStream()からhtmlを取得
(3)HttpURLConnectionのdisconnect()を実行

このそれぞれの処理で以下のようなパケットのやりとりを想定していましたがⅡの方が大きな間違いでした。

Ⅰ.上記(1)のconnect()でSYN→SYN,ACK→ACKのパケットが流れてTCPのコネクションが確立される。
Ⅱ.上記(3)のdisconnect()でFIN,ACKのパケットをやりとりしコネクションを切断する。→×

wireshark(フリーのパケットキャプチャツール)でパケットのやりとりを見てみますとHttpURLConnectionのdisconnect()を行ってもFIN,ACKのパケットは流れません。
FIN,ACKはConnectionヘッダーのデフォルトをKeep-Aliveにしていたためか、(2)を行った後、数秒何もしないとサーバー側から送られてきていました。
Connectionヘッダーをcloseにすると(2)でhtmlを受け取った後、ただちにFIN,ACKパケットがサーバーに送られます。

今までWebクラスのgetHtmlメソッドやpostHtmlメソッドの中が上記の(1)~(3)のような処理でしたが、Keep-Aliveの時に連続してgetHtmlメソッドを実行すると問題が発生しそうです。以前HTTPのレスポンス受信時にIOException"Connection reset"が発生するトラブルがありましたがこれが根本原因なのかもしれません。修正版(getHtmlとpostHtmlメソッドの中のdisconnect()呼び出しをやめる)の基本コンポーネントパッケージを近日中に公開したいと思います。

なお上記以外にも以下のようなことがわかりました。
・Keep-Aliveで接続が持続されている状態でHttpURLConnectionのオブジェクトがスコープを外れるなどして破棄される時にはRST,ACKパケット(強制切断)がサーバーに送られる。
・HttpURLConnectionのconnect()はコネクションが確立していればSYN→SYN,ACK→ACKのパケットが流れない(これはjavadocに書いてありますね)のでKeep-Aliveには対応できる。

| | コメント (2) | トラックバック (0)

非専業システムトレーダーにとって重要な異常通知機能

常にPCの前にいて取引できる専業のトレーダーの方々と違い、私のような普段会社勤めをしている非専業のシステムトレーダーにとっては異常通知機能が大変重要になってきます。特にポジションを持っている状態で異常が発生した場合などは強制決済をしなければなりませんのでなるべく早く異常をキャッチする必要があります。

私の場合は以下の3段階で確認できるようにしています。

(1)トレードロボットのプロセスとは別にトレードロボットが動作しているか確認するプロセスを起動しておいて、トレードロボットと通信ができなくなった時に携帯電話に異常通知メールを送る。

→トレードロボットのプロセスが停止した時に通知を受けられます。基本的にはこれで十分なはずですが・・

(2)メインサイトのトップページに各ロボットがLastUpdate時刻を記録する。(20秒おき)

→トレードロボットとトレードロボット監視プロセスの両方が停止しても、このLastUpdate時刻を見れば異常をキャッチできます。

(3)メインサイト自体が見れない場合は光回線のDSU(ADSLの場合はADSLモデム)に異常があると判断します。

| | コメント (0) | トラックバック (0)

トレードロボット基本コンポーネントパッケージ(オープンソース)がv1.10にバージョンアップしました

トレードロボット基本コンポーネントパッケージ(オープンソース)がv1.10にバージョンアップしました。Web通信(http,https)クラスでCookieを自動処理するよう機能改善しています。今までのバージョンではCookieの送受信処理を自分で実装しなければなりませんでしたが、jp.robotbrain.net.Webクラスのgoメソッド(新)とsendFormメソッドを使うことにより基本コンポーネント側でCookieの送受信が行われます。これにより今まで面倒であった証券会社のPCサイトへのログインが携帯サイト、PDAサイトと同じようにシンプルなコードで実装できるようになりました。メインサイトでクリック証券、SBI証券、カブドットコムへのログイン処理のサンプルJavaソースをアップしましたのでよろしければご覧ください。

| | コメント (1) | トラックバック (0)

取引回数とシュミレーション結果の信頼性について考える

3月から実戦トレードロボットを旧式のnikkei_dolphin_sig001から現nikkei_ape_sig001に切り替えました。2008年度の実績をもとに算出した日経225mini1枚あたりの1取引(往復)のコスト(スリッページ+手数料)\1,200で2000年~2008年を旧式で再シュミレーションしたところ総損益マイナスの結果となったため、ロジックやパラメータを見直して新しいロボットに切り替えたのですが不安材料がいくつかあります。まずは旧式のロボットにくらべ現ロボットの年間平均取引数が少ない点。日経225miniのデイトレード(イブニングは除外)で旧式の平均年間取引数は278回ですが、現ロボットは157回です。これが多いか少ないかは1年くらい実トレードしてみないとなんとも言えませんが、2009月3月度だけを見るとまずまずの結果になりました。以下の表は旧式(青い線)と現ロボット(赤い線)の2009月3月度のシュミレーション結果ですが、現ロボットの方がドローダウンが小さく、最終的な損益も旧式よりも若干上まわりました。今後も旧式との比較をしながら、どのくらいの取引数が妥当か研究していきたいと思います。

0803_0903_2

| | コメント (0) | トラックバック (0)

HTTPのレスポンス受信時にIOExceptionの"Connection reset"発生

新規注文のhttp通信時にIOExceptionが発生するトラブルが3/13に起きました。

ログを見たところ新規注文のhttpリクエストは問題なく送信されていたようで、その後のhttpレスポンスを受信時にIOExceptionが発生していました。メッセージは"Connection reset"でした。(例外は発生しましたが新規注文は約定されていました)

具体的なエラー発生箇所ですが、トレードロボット基本コンポーネントのjp.robotbrain.net.WebクラスのpostHtmlの中にある以下の行でエラーになっていたようです。

returnValue = getResponseText(p_charset);

レスポンス受信時になんらかの理由でコネクションが解消されたようですね。1年3ヶ月運用してきてはじめて発生する現象ですので再現性はかなり低いと思いますが、年に1~2回しか訪れない大チャンスで再現されたら、たまりませんので以下のような対策をしました。

(対策)

新規注文時の処理は大きく以下のような流れになっています。

------------------------------

(1)新規注文フォームをPOST

(2)上記(1)のレスポンスを受信

(3)建玉一覧のページをGET

(4)上記(3)のレスポンスを解析して建玉がある場合は約定したと判断する。すぐに約定しない場合があるので10数回は(3)~(4)を繰り返す。

------------------------------

このようになっておりまして、約定確認は建玉一覧ページを見て行っていますので(2)のレスポンスは受信はしますが、処理上使っていません。ですので(2)で例外が発生しても無視して(3)に進むように処理を変更しました。

また、この対応を可能にするためにトレードロボット基本コンポーネントのjp.robotbrain.net.WebクラスのsendFormで送信用と受信用の例外をそれぞれHttpSendException, HttpRecvExceptionのように分けました。(v1.02まではIOExceptionで一本化されていましたので送信と受信どちらのエラーか判別できませんでした)

昨日公開したトレードロボット基本コンポーネントパッケージv1.03は上記の対応をしたバージョンになります。

| | コメント (1) | トラックバック (0)

オープンソースのトレードロボット基本コンポーネントパッケージV1.02とシグナルボックスエディタβ1.7を公開しました

久しぶりにトレードロボット基本コンポーネントパッケージとシグナルボックスエディタをバージョンアップしました。メインサイト(robotbrain.jp)で公開していますのでよろしければダウンロードしてください(Vectorでは2週間後くらいに公開となります)。なお、今回のシグナルボックスエディタのバージョンアップで保存ファイル(SignalBoxDesign)の形式変更を行っておりまして、これが旧バージョンとの互換性がありません。ご注意ください。

| | コメント (0) | トラックバック (0)

クリック証券のWebサービスが終了

クリック証券のサイトのWebサービスのページを先ほど見たところ「クリック証券Webサービスの新規ご利用受付は2009年2月2日をもって終了させていただきました。既にWebサービスをご利用のお客様につきましては、2009年2月14日にご利用を終了させていただきます。」とのことでしたので、明日からの取引は予備の証券会社に切り替えます。そしてクリック証券からは全額出金しました(出金が殺到しそうですね)。せっかく作ったのに・・はぁ。

| | コメント (0) | トラックバック (1)

クリック証券のsakimonoMeigaraJohoList.doリクエストでタイムアウト

今年に入ってからクリック証券のWebサービスを使って実取引をしていますが、本日(09/02/02)の8:40から11:00くらいまでクリック証券のsakimonoMeigaraJohoList.doに対するリクエストでタイムアウトになる事象が発生しました(ログインは通るがsakimonoMeigaraJohoList.doのリクエストでタイムアウト。何度やっても同じ。)。少し時間をずらして午後に実行してみたところレスポンスが返ってくるようになっていました。プログラムや環境を変えていないのでクリック証券のサーバー側がおかしいのかと思いクリック証券に調査依頼しましたが「再現しません、お客様のプログラムを再確認してください」との回答でした。今となってはこちらでも再現しないので困ったものです。手数料面でクリック証券は有利なのでもう少し使ってみて、もう一度同じ事象が発生したら予備の証券会社に切り替えようかと思います。

| | コメント (0) | トラックバック (0)

取引コスト(スリッページと手数料)の過小評価

日経225miniの1枚あたりの取引コスト(スリッページと手数料)を今まで往復500円でシュミレーションしていましたが、これはかなり甘い見込みだったようです。往復500円の取引コストで2008年度をバックテストした結果とリアルの取引結果にかなり乖離がありましたので、取引コストをいくらにしたらリアル損益とつり合うのか調べてみたところ、2008年度については日経225mini1枚あたり往復1200円でリアル損益とつり合いました。日経225miniの2ティック+200円といったところですね。今後はこの値でシュミレーションしていこうかと思います。

| | コメント (0) | トラックバック (1)

シグナルボックスエディタβ1.4とオープンソースの基本コンポーネントパッケージ(2009.01.13版)を公開しました

GUIでトレードロジックを構築できるフリーソフト、シグナルボックスエディタβ1.4とオープンソースの基本コンポーネントパッケージ(2009.01.13版)をメインサイトで公開しました。

| | コメント (0) | トラックバック (0)

トレードロボット基本コンポーネントパッケージ(09/01/07版)とシグナルボックスエディタβ1.3を公開しました。

フリーソフトのシグナルボックスエディタβ1.3とオープンソースの基本コンポーネントパッケージ(2009.01.07版)をメインサイトで公開しました。

| | コメント (0) | トラックバック (0)

FXロボットの研究をはじめました

今年からFXのトレードロボットの研究を始めました。メインサイトで試作品の動向をチェックできるようにしています。また、去年までは気配値取得や発注のトラブルの対応策として証券会社2社分の2台のロボットを使ってリスク分散していましたが、今年からはログイン時に証券会社のサイトのフォーマットチェックをして問題があれば別の証券会社に切り替える機能をつけましたので1台運用にしています。FX、先物どちらのロボットもメインサイトで公開しているフリーソフト「シグナルボックスエディタ」とオープンソースのトレードロボット基本コンポーネントパッケージを使って作っています。

| | コメント (0) | トラックバック (1)

気配値取得や発注のトラブル

今年も気配値取得や発注のトラブルに悩まされましたが原因は基本的に以下の2つのどれかでした。

(1)ログイン後の約諾書同意画面への遷移

先物取引の約諾書に変更があった場合、ログイン直後にその約諾書の同意画面(新約諾書へのリンクと同意ボタンがある画面)に強制的に遷移して同意を促す証券会社があります。このような場合に普段はログイン→トップメニューという遷移のところが、ログイン→約諾書同意画面→トップメニューという流れに変わってしまい、気配値取得や発注ができなくなる場合がありました。

→(考えられる対処方法)ログイン直後にメインメニューに行けない場合は予備の証券会社に切り替える。

(2)証券会社のシステムトラブル

証券会社のシステムにトラブルがあり気配値取得や発注ができなくなることが何度かありました。今年は楽天証券が目だって多かったです。

→(考えられる対処方法)今のところロボットの緊急停止しか考えられません。自動で行うにしてもポジションを持っている状態で発注不能になった場合は対処が難しいです(今年は実際にこのような状況に陥りました)。

| | コメント (0) | トラックバック (0)

シグナルボックスエディタβ1.2を公開しました

フリーソフトのシグナルボックスエディタβ1.2とオープンソースの基本コンポーネントパッケージ(2008.12.22版)をメインサイトで公開しました。

シグナルボックスエディタは先物やFXの売買ロジックをGUIで構築できるソフトウェアです。以下のような特徴があります。

・RADツールのようにテクニカル指標やシグナル判定の部品を画面に配置して、それらを組み合わせることによってロジックを構築できます。
・作成したロジックをJavaのソースで出力することができます。コーディングの手間を省き、コーディングミスのリスクを低減できます。
・テクニカル指標やシグナル判定の部品は自作して組み込むことができます。
・添付の基本コンポーネントパッケージでローソク足、ボリンジャーバンド、ドンチャンチャネル、DMI、SMA、EMA、MACD、TrueRange、ストキャスティクスの算出ができます。基本コンポーネントパッケージはオープンソースです。
・Javaで作成したツールなのでWindowsだけでなくLinuxでも使うことができます。(Fedora9とUbuntu 8.0.4 LTSで動作確認済)

| | コメント (0) | トラックバック (0)

パニック的な値動きへの対応

ここ数日間の異常な乱高下で浮き彫りになったシステムの問題点と対処についてまとめてみました。

問題1:大引け時に決済注文が殺到し、引け注文で出来ズ(失効)になってしまう。
対処:15:10の大引け決済でなく15:00に成り行きで手仕舞いをしてしまう。過去4年間のデータでシュミレーションしてみましたが15:00に決済した方が成績がよかったです。早くこうしてればよかった・・

問題2:寄り付きで膨大な特別買い気配となった場合に9:10までは現在値にハイフンなど表示されるが9:10以降は現在値に前日終値をWeb表示する証券会社がある(9:10までに寄らないからというかサーキットブレイクがかかるとこうなるのかもしれません)。例えば2008/10/14の日経225miniを例にしますと、この日は9:20になっても寄り付きませんでしたが、9:10以降から寄り付くまでの現在値を前日終値の価格とロボットが認識してしまい9:20にできる10分足が始値、高値、安値、終値すべてが7800となってしまいました。へたをすると寄ったと同時に売りポジションを建てかねないとても危険な状況でしたのでこの日は緊急停止しました。
対処:9:08になっても寄り付かない場合はその日の取引を停止する。(翌日の取引に影響するので価格取得は行う)

| | コメント (0) | トラックバック (0)

テクニカル指標算出やクリック証券ログインのサンプルソースを公開しました。

メインサイトでオープンソースの先物取引ロボットプログラム部品(jp.robotbrainクラスライブラリ)を使って移動平均線(SMA)やATRのようなテクニカル指標を算出するサンプルJavaソースとクリック証券WebサービスログインのサンプルJavaソースを公開しました。 

| | コメント (0) | トラックバック (0)

オープンソースの先物取引ロボットプログラム部品(jp.robotbrainクラスライブラリ)を更新しました

メインサイトで公開しているオープンソースの先物取引ロボットプログラム部品(jp.robotbrainクラスライブラリ)を更新しました。今回は大幅な変更をしています。今まではコンパイラ準拠レベルが1.4でしたが、今回から1.6にしました。もともとは携帯やWindowsMobileで動かすことを想定して1.4で作っていましたが、システムがかなり大掛かりなものになってきて、PDA(WindowsMobile)での処理速度が実用的でなくなってきたためパソコンでのみ使用するよう割り切りました。また、1.5以降は総称型や注釈が使えるなどメリットが大きいです。総称型のおかげでだいぶソースがすっきりしました。

| | コメント (0) | トラックバック (0)

クリック証券のWebサービスのログイン

クリック証券のWebサービスのログイン処理ですが、Webサービス仕様書のログイン編2.1.0版にはシーケンス3のところで「Cookie Data:JSESSIONID=XXXXXX」のようなHTTPヘッダーをつけるよう書いてあります。普通は「Set-Cookie」で受けたクッキーは「Cookie」というプロパティ名で返すのでおかしいと思ったのですが、仕様書通り「Cookie Data」というプロパティ名で返したら案の定エラーとなりました。やはりここは「Cookie」というプロパティ名で返すのが正解です。また、Webサービス仕様書には書いてありませんが、シーケンス3のところでは「JSESSIONID」だけを返してもエラーとなります。シーケンス1~シーケンス2で得たCookieも連結させないとエラーとなります。具体的には「BIGipServerPools_LOGIN=???;BIGipServerPools_LOGIN=???;JSESSIONID=???;」というようなCookieになります。Cookieはある意味普通に処理しなければならないようですね。なお、Content-LengthやContent-Typeはつけなくてもエラーにはなりませんでした。

| | コメント (0) | トラックバック (0)

テクニカル指標を算出するJavaソース

ソースの整理ができたのでオープンソースの範囲を少し拡大しました。テクニカル指標を計算するクラスをjp.robotbrainクラスライブラリに含めてメインサイトで公開しています。ボリンジャーバンド、DMI、MACD、RSI、SMA(単純移動平均)、EMA(指数平滑移動平均)、ストキャスティクス、TR(TrueRange) といったさまざまな指標の計算ができます。

| | コメント (0) | トラックバック (0)

Eclipse3.4(ganymede)について

今日からEclipse3.4(ganymede)を使いはじめました。Eclipse3.4(ganymede)になればEclipse3.2(Callisto)の時のようにヘルプ→ソフトウェア更新からVisualEditorがインストールできると思っていたのですが、ざっと見た限り見当たらないのでとりあえずEclipse3.3(Europa)の時と同じようにインストールして使っています。Eclipse本体、日本語化、VisualEditorのセットアップ手順はメインサイトの方に載せておきました。

| | コメント (0) | トラックバック (0)

証券会社の開拓3

口座開設した証券会社のいくつかをロボットからアクセスできるよう試してみました。

アイディーオー証券・・・商品先物口座を作ってロボットからアクセスできるようにしました。ここは特に難しいところもなく問題ありません。

カブドットコム・・・モバイル版サイトを試してみましたがログインするときに何度かリダイレクトされて、それぞれのリダイレクト先で異なるクッキーを渡してきます。クッキーの送受信処理を自分で実装している場合は手間がかかります。

オリックス証券・・・SQの前日のみ注文フォームが変わります。具体的には、通常の日は有効期間が当日中、日中限り、期間指定の3択ですが、SQ前日は日中限りのみとなり選択ができません。

| | コメント (0) | トラックバック (0)

オープンソース化

私が日々の実取引で使っている日経225先物miniデイトレードシステムの一部のソースをオープンソース化しました。メインサイトで公開しています。

また、明日からは商品先物の研究として東工取ガソリンのバーチャルトレードロボットを稼動させます。シグナルは今までの日経225先物mini用と同様にメインサイトのトップページで見れるようにしました。

| | コメント (0) | トラックバック (0)

証券会社の開拓 2

昨日に引き続き証券会社を開拓。今日はアイディーオー証券、カブドットコム証券、リテラ・クレア証券の口座開設を申請しました。アイディーオー証券は商品先物(ガソリンや金)用です。今までドットコモディティという証券会社を利用してガソリンと金の仮想取引をしていましたが、サイトリニューアルに伴い携帯チャネルへのアクセスができなくなったため他の証券会社を探しています。携帯チャネルといっても通常はHTTPヘッダーのUser-Agentを携帯のものにすればアクセスできたりするのですが、ドットコモディティでは不可で、HTTPレスポンスを見ますとどうもIPアドレスで携帯会社を特定しているようです。

| | コメント (0) | トラックバック (0)

証券会社の開拓

新たな証券会社を開拓しようと思いいろいろと調べていましたら、クリック証券ではXML/HTTPベースのAPIがあるようですね。以前、.NetFrameWorkベースのAPIを提供予定とアナウンスされていた頃この証券会社を注目していましたが、久々にのぞいて見たところここまできているとは知りませんでした。口座開設をしてどんなものか試してみることにします。このAPIがうまく機能すれば、今までのようにサイトリニューアルによるHTML形式の変更を心配しなくて済みます。

| | コメント (0) | トラックバック (0)