ブログ記事44件
lastmodified2023.03.15BotDesignesNo.22です。トレード銘柄を選ぶ方法をちょっと考えてみる以前、kabuステのランキング機能で、値動きが大きそうな銘柄を機械的にだしてみました。何も考えずに東証全体のランキングで出しただけでしたが、、、少し前に東証の株式区分がかわりました。以前は、一部、二部、マザーズ、JASDAQでしたが、プレミア、スタンダード、グロースにかわりましたね。で、今回は、銘柄のランキング機能で、プレミア、
lastmodified2023.01.21BotDesignesNo.21です。No.20の続きです。前回ダウンロードした1分足を整形して、1分足、5分足、10分足、15分足、30分足にします。yf-historicalフォルダ内にダウンロードした生データを入れてそれを整形します。1min、5min、10min、15min、30minフォルダに入れます。7日分でもとりあえずのテクニカル分析には使えるだけの時系列データはあるかな?30分足で60本くらいあった。あんま
lastmodified2023.01.18BotDesignesNo.20です。BotDesignesってすごい久しぶりです。4本値のヒストリカルデータをいろいろダウンロードできるライブラリあったので紹介します。yahoo_finance_api2ってやつです。どこからDLしてるのかわからないけど、多分?アメリカのYahooなのかな?公式にサポートされているものではないっぽいので、いつ使えなくなるかわからない不安定なやつと思ったほうがよいかも。1分足、2分足、5
lastmodified2022.12.17BotDesignesNo.19です。トレードシミュレーターの2回目です。トレードシミュレーター作ってみたのでUPします。PUSH配信されたテキストデータをtar.xzで圧縮したデータを渡すと、取引をシミュレーションしてくれます。組み込んでいるテクニカル分析は10分足のbollingerbandで、終値が+sigma超えたら買いで、終値が-sigmaより小さくなれば売りです。ソースを見ればわかるけど、特に難しいこと
lastmodified2022.12.03BotDesignesNo.18です。みなさんは平均足(コマ足)って聞いたことあるでしょうか?なんか英名がHeikenashiっていうようなので、日本で開発されたチャートだと思います。いろいろ検索したけど、由来はわからなかった。FXとかでよく使われてるチャートのようです。株だと取引きツールにはいってないのかな?野村とかSBIとかKabuコムもツールにないっぽい検索するとすぐに出てきますが、一応計算式書きます。
lastmodified2022.11.30BotDesignes18回です。売買シミュレーターです。全体の構成を見ていると、tick生成スクリプトと取引実行スクリプトを変更すれば、簡単に売買シミュレーターを作れます売買シミュレーターの構成はこんな感じtick生成スクリプトを、kabuステから情報を取得しないで、pushdataファイルから読み込んでRedisのtickqueueにいれるように変更します。pushの生データもredisにいれるようにします。取引実行
lastmodified2022.11.27BotDesignesNo.17です。今回は目先を変えてテクニカル分析について、いろいろ考えたいと思います。tradeBotではテクニカル分析は外せないと思うからテクニカルはいろいろあるけど、オシレーター系、トレンド系の二種類でしょうか。あとは酒田五法のようなローソク足分析でしょうかオシレーター系というのは買われすぎ、売られすぎを数値で表したものになります。ストキャスティクスとかRSIとか、数値が一定の数を超えたら買われ
lastmodified2022.11.24BotDesignesNo.15です。BotDesignesのNo.1で銘柄をリストアップするスクリプトを紹介しました。そういうリスト(もちろん自動生成でなく自分で作ったリストの方がよいと思う)をシステムで利用するにはさらにいろいろと手を加えて管理しないといけません。(kabusapiのシステム上の制約で銘柄の上限は50までです。増やしてくれって要望がおおいので、そのうち増えるかも?でも、これ以上増えると、ユーザースクリプトで捌
lastmodified2022.11.19BotDesignesNo.14です。ボットでトレードしてるといろいろ記録を取るのですが、特にpushされるデータを蓄積していくと膨大な量になります。ちょっと多すぎない?何十Gバイトになってます。いろいろ調べたらpytonで圧縮もできる。tar.xzの形式といったらlinuxとかmac使ってる人は、知ってるとおもいますが、そういう圧縮ファイル形式があります。windowsだと7zという圧縮ツールがありますが、それと同じ形式の圧縮形
lastmodified2022.11.11BotDesignesNo.13です。>言葉で書くと簡単だけど、実際はそれぞれのRESTAPIのパラメータ設定が異常にややこしい>ややこしいので次の記事に続くということで、続きです。でも、これ説明しても、わからないかも、自分で頭つかって考えるしかない思います。まず、RESTAPIのsend_orderを見てみます。defl0_send_order()はkabusapiのサンプルをコピペしてつくったモジュールです。こ
lastmodified2022.11.11BotDesignesNo.12です。売買実行スクリプトはわりと簡単かもしれない。Redisのorderqueueから命令を取得してそれで売買を行います。orderqueueには3種類の命令が入ってくるqlong,qshort,qdeal、qlongが新規買い、qshortが新規売り、qdealが反対売買です。新規買い新規売りの場合基本的に指値でなく成り行きで売買します。1.orderqueueからqlong
lastmodified2022.11.10BotDesignesNo.11です。テクニカル分析スクリプトです。最初にいいますが、テクニカル分析のスクリプトを何千行書こうが、何千時間学習したAIつくろうが、動意付いた株でなければ儲からないです。万力で固定したみたいに、延々と732円-733円-734円で値動きするような株では儲からない。逆に動意付いた株なら難しいことはしなくても、例えば、5maと15maのゴールデンクロスとデッドクロスの取引でも利益でると思う。それとも
lastmodified2022.11.09BotDesignesNo.10です。tick生成スクリプトの四回目、logfileです。logというのは、いろいろ記録するってことです。tick生成スクリプトで取得するログは何か?push配信を受信すると結構な負荷がかかります。特に場の開始直後には取引が集中してしまい捌ききれなくなることがあります。そうなると、pushを受信するライブラリ(websocket-clientだったかな?)がエラーを出す。スクリプトが速くなるように
lastmodified2022.11.09BotDesignesNo.9です。tick生成スクリプトの三回目、Redisです。Redisというのは、一種のデータベースで、NoSQLデータベースといいます。SQLでないデータベース、リレーショナルデータベースではない。MSのACCESSとかMYSQLとかPostgreSQLとかOracleとかリレーショナルデータベースですが、テーブルとテーブル間の関係を記述したりしないといけないので難しいです。Redisはそういう面
lastmodified2022.11.08BotDesignesNo.8です。今回は、トレードボット用につくった4本値の時系列データ用のclasslibraryです。スクリプト内で宣言して、tick情報を追加していくと、4本値の時系列データをつくることができます。ほかに、簡単なテクニカル分析機能も載せています。移動平均、加重移動平均、ストキャスティクス、ボリンジャーバンド、MACDです。トレードシステムの中核になるスクリプトといっていいと思います。tick生成スクリ
lastmodified2022.11.07BotDesignesNo.7です。BotDesignsNo.6の概要図に出てきたtick生成スクリプトを詳しく説明します。このスクリプトも内容はいろいろあるので、2,3回続きます。まず、tick情報の生成です。tick情報というのはあゆみ値ともいいますね証券会社のツールの情報画面でこんなウインドウあるはず時間価格数量12:23:11.053610012:23:10.553620012:23:10
lastmodified2022.11.06BotDesignesNo.6です。システム全体のイメージです。順に説明すると。・kabuステau株コム証券の取引ツール・RedisオープンソースのonmemorydatabaseWEBのバックエンド開発してる人なら誰でもしってるようなデータベースっぽいです。ぐぐって貰えれば使い方は出てきます。・tick生成ユーザースクリプトです。kabuステから配信されたpushデータから擬似的にtick情報を生成しま
lastmodified2022.11.02BotDesignesNo.5です。銘柄選定スクリプトで使ったライブラリを説明します。ranking(gv.ipport,gv.x_api_key,t)cls_Symbols(gv.ipport,gv.x_api_key)set_Symbol(gv.ipport,gv.x_api_key,sc)unregister_symbol(gv.ipport,gv.x_api_key,sc)○get_board(gv.ipport
lastmodified2022.11.02BotDesignesNo.4です。銘柄選定スクリプトで使ったライブラリを説明します。今回はkabuステへの株式銘柄の登録に使うモジュールです。kabuステには50銘柄まで登録できて、その登録された銘柄の情報を取得できます。get_Token(gv.ipport,gv.kabupw)ranking(gv.ipport,gv.x_api_key,t)○cls_Symbols(gv.ipport,gv.x_api_key)
lastmodified2022.11.02BotDesignesNo.3です。銘柄選定スクリプトで使ったライブラリを説明します。○get_Token(gv.ipport,gv.kabupw)○ranking(gv.ipport,gv.x_api_key,t)cls_Symbols(gv.ipport,gv.x_api_key)set_Symbol(gv.ipport,gv.x_api_key,sc)unregister_symbol(gv.ipport,gv.
lastmodified2022.11.02BotDesignesNo.2です。銘柄選定スクリプトです。多分、2,3回続きます。au株カム証券のトレードツール、kabuステーションに詳細ランキングという機能があるのですがその機能を使って、機械的に値動きしそうな株をリストしています。1.最初にToken取得しています。TokenというのはAPIからkabuステにアクセスするときに使用するKeyになる文字列です。ファイルに保存することも可能で、Tokenファイルがあればそ
lastmodified2022.11.01BotDesignesNo.1です。ご挨拶です。すこしごちゃごちゃしてきたので、ブログのリニューアル記事のリライトなどもしていきます。Botというのはロボットの事で、Botterというのがロボットを扱う人、Designesはそのまま設計という意味でしょうかTradeBotを作っていくブログです。ある程度プラグラム(python)の知識がある人が対象かな。まぁ、プログラム関係ない話もちょこちょこ書いていこうと思います。
lastmodified2022.10.2924回目は売買シミュレーターの話の3回目前回構成図を作りましたが、下の奴、これのredis上のpushdataのclassと'pushtotick'のスクリプトを作ってみた。とりあえず動いてるけど、Ver0.00ってことでclassboard_on_redisはボード情報をRedisに保管します。Tradeスクリプトがこのボード情報から株価情報を取得します。importredisimportjsonimport
lastmodified2022.10.2423回目は売買シミュレーターの話の2回目シミュレーターの設計しますか、構成図です。事前に考えとくと間違いが少ない。PushDataFileは、kabuステーションからpush配信されたデータをそのままテキスト出力したものpushtotickはpushデータからtick情報を生成して、それをRedisのtickQueueに入れます。同時にpushされた板データもRedisにいれます。Tradeスクリプトで発注の値決めするとき
lastmodified2022.10.20今回で20回目。ログファイルについて書きます。ログファイルの出力を整理してみます。ログって何かというと、よくバグがでて、print(a)とかやって怪しい値をコンソールに出力したりしますが、それをファイル出力したものです。ほかにもスクリプト処理を1.ファイル読み込み、2.処理A実行、3.処理B実行、4.ファイル出力とかそんな履歴を出力したりします。じゃ、トレードボットで出力するログは何がいるか考えてみる。実際にシステム作っていて、こう
lastmodified2022.10.1619回目です。今回はラッパー関数です。ここでいうラッパーはhip-hopのラップ(rap)をする人ではないです、料理をしまうときに透明のラップで料理に蓋をしますが、そのラップ(wrap)です。包み込むって意味でしょうか具体的には、こんな感じです。↓これはkabusapiで使う発注モジュールです。内容はkabusapiのサンプルそのまんまですね。でも、このままだと使いにくいので、ラッパー関数を作ります。defl0_sen
lastmodified2022.10.0818回目です。コンピュータで取引するとなんだかんだでテクニカル分析することになります。まぁ、他に手法がないから、テクニカルでやることになります。中にはチャートを描画して、それを絵としてAIに学習させてる人もいるかもしれないけど。大まかに分類して3種類なんだろうか、オシレーター系、トレンド系、チャートの形オシレーター系というのは、ボックス相場というやつです。箱の中で上下で動いて、箱の上で売り、箱の下で買いをする。ストキャステ
lastmodified2022.10.2717回目です。15回目でシーケンスの話をして条件が多岐になると書きましたが、それを詳しく書きます。多岐って何?って話ですが、たくさんの選択肢って意味ですね。状態がたくさんあるって意味でしょうかテクニカル分析をすると、買い、売り、ノーポジ(利確、損切)の3種類のシグナルがでます。で、現在所持している株のポジションも買いポジ、売りポジ、ノーポジの三種類そうすると9種類の選択肢が出ます。まぁ、重複もありますけどポジション\シグナ
lastmodified2022.10.0116回目です。kabuステから毎日の4本値を取得して、日足チャートを作成しようと思う毎日やって一か月分の4本値が蓄積できれば、イナゴタワー探せるかなボリンジャーバンドのsigmaと5営業日前からの価格の乖離でランキングを作るとできるかな?あと、出来高か売買金額も計算するのかなまぁ、思考錯誤ってことでJPXのページから上場企業一覧(東証上場銘柄一覧)がダウンロードできます。その他統計資料|日本取引所グループ日本取引所グル
lastmodified2022.10.01今回で15回目です。今日はスキルの問題です。いろいろ作ってきて、わかってきましたが、自動売買のスクリプト作ろうと思うと、単にpythonのプログラムが書けるだけの人では無理かもしれないなんというかシステムの仕様書書けるスキルないといけないかもしれない。早く処理を終わらせるとかメモリをたくさん使わないプログラムを書かないといけないとか、そういうスキルも重要なのですが、それだけだと自動売買できないっぽい自分はプログラムのスキルは