Softgate Limited

株式会社ソフトゲート コーポレートブログ

ウェブ API 開発コースのカリキュラム概要

前回のブログでお話ししたとおり、ウェブ API 開発コースは

  • 基本スクリプト
  • 発展スクリプト

という難易度が異なる二種類のスクリプトを並行開発するスタイルで進めていきます。

それぞれのスクリプトを開発する流れに沿って様々な話題に触れるのですが、概ね次のような順序で解説していく予定です。あくまで予定ですよ。

基本スクリプト 発展スクリプト
第1週 Python基礎, HTTP基礎 並行処理の歴史, スレッド, WebSocket
第2週 Python基礎, JSON, 通貨一覧取得 同期/非同期, HTTP ベンチマーク
第3週 クラス, 価格情報取得 板情報の処理, numpy / pandas
第4週 発注ライブラリの使い方 発注, 排他制御, APIキーと認証
第5週 約定判定とポジション管理 約定処理, イベント, 同期
第6週 定期的な処理 WebSocketでの注文とポジション管理
第7週 損切り, ログ出力 歪みの探求, 複数データソース, プロセス間通信
第8週 コンフィグ, LINE/Discord通知 高速化, 可視化, データベース

また、単なる知識ばかりではなく、プログラミングのコツや考え方もご説明したいと思います。

ただ、動画で一方的に説明しても伝わりにくいため、課題に取り組んでいただいた後に、具体例と絡めて解説する方が効果的でしょう。


その他にも、番外編というか補講として、発展的あるいは予備知識的なトピックも幅広くカバーし、トータルではかなりボリュームのあるコンテンツになります。

たとえば、「Unix (Linux) の基礎」みたいな補講もご用意するのですが、こういった「ウェブ API 開発」の本筋とは直接的に関係が無い話題は、将来的に、弊社のコース/セミナーを受講してくださった方なら誰でも閲覧できる形でご提供してまいります。

第一期の受講者の皆さんには、12月になったら出来上がったコンテンツから随時公開し、各自の判断で、年明けを待たず事前に学習を始めていただけるようにしますので、少々お待ちください。

受講を検討されている方は、ご質問などありましたら、弊社お問い合わせフォームからお気軽にお問い合わせください。

ウェブAPI開発コースの発注ライブラリ

おかげさまで既に数名の方からウェブAPI開発コースに参加お申し込みをいただいております。

私の方もコンテンツ作りに着手するために、具体的なカリキュラムを詰めているところです。

先日のブログでは、bitFlyer の BOT を作成していくとご説明しましたが、その点について若干補足させてください。

いくら少額で試験運用してもらうとはいえ、いきなり bitFlyer FX のリアル口座でプログラムを動かすのは抵抗がある方もいらっしゃるかもしれません。

そこで、基本スクリプト*1では、こちらでご用意した共通クライアントライブラリを使ってBOTを記述していただこうと思います。

共通クライアントライブラリは、いまのところ

  • bitFlyer FX
  • Liquid by Quoine (レバレッジ取引)
  • BitMEX
  • Binance FX

に対応したものをご提供する予定です。

共通クライアントとは、簡単に言えば、ほぼ同じようなプログラム記述で複数の取引所に対して発注ができるライブラリです。

したがって、いきなり bitFlyer FX や Liquid のリアル口座で取引したくない受講者は、まず BitMEX や Binance のテストネットのデモ口座で開発/実験をし、リアル口座に移行する自信が付いたら、ちょこっと(初期化部分と API キーなどを)変更するだけで bitFlyer FX や Liquid 用の BOT に変更することができるわけです。*2

当初、基本スクリプトのカリキュラムが詰め込み気味になることを危惧していましたが、クライアントライブラリを使っていただけば、比較的容易に取引が出来るところまで実装できますし、モチベーションも維持しやすいと思います。

一方、発展スクリプトにチャレンジしている受講者にとっては、共通クライアントライブラリはサンプルプログラムにもなります。

これをサンプルとして参考にしつつ、同等のものをご自分で実装していただくというのが、発展スクリプトのテーマです。

と、こんな感じで、現在カリキュラムの最終調整をしておりますので、8週間のカリキュラムが確定しましたら、また本ブログでご紹介いたします。

*1:基本スクリプトと発展スクリプトについては前回のブログを参照

*2:誤解の無いように言っておきますと、仮想通貨取引所および各APIはクセが強いので、細かいことをやるには取引所ごとの特殊な処理が必要となり、高頻度になるほど共通クライアントライブラリでは役不足になっていきます

ウェブ API 開発コースのサービス内容

先日アナウンスした「ウェブ API 開発」コースですが、どうやらプログラミングの経験をお持ちの方々にも興味を持っていただいているようです。

一方で、初心者歓迎のコースでもありますので、初心者と経験者どちらにもご満足いただくためにはどうしたら良いか、いろいろと検討しました。

基本スクリプトと発展スクリプト

検討の結果、(苦肉の策で?)二種類のスクリプトを並行開発していくという、特殊なスタイルを採用しようと思います。

  • 基本スクリプト
  • 発展スクリプト

いずれも、だいたい同じ時期に、データ取得/発注/注文管理といった機能を実装していき、最終的には bitFlyer で取引を行う BOT スクリプトが出来上がります。

ただし、基本スクリプトの方はシングルスレッドで HTTP のみの実装であるのに対して、発展スクリプトはデータ受信や約定判定に WebSocket も使用するなど、全ての段階において基本スクリプトより高度なことをやっていきます。

初心者の方は、まず一巡目の学習では、発展スクリプトに関する講義や課題はスキップして、基本スクリプトに集中していただけば十分です。

それが終わったら、二巡目の学習に取りかかり、是非、発展スクリプトの開発にもチャレンジしてほしいと思います。

経験者の方は、基本スクリプトはさくっと作ってしまっても良いですし、必要がなければスキップして、発展スクリプトだけに取り組んでも結構です。

発展スクリプトの流れでは、他の取引所とか FX 業者の API に対応したスクリプト開発などの課題を多めに出すつもりなので、経験者の方々も退屈している余裕はないでしょう。^^;

コンテンツコースとトレーニングコース

それから、受講される方々にはいろいろな時間的制約があると思うので、受講形態も二種類ご用意します。

  • コンテンツコース
  • トレーニングコース

コンテンツコースは、その名の通り、講義動画や PDF ファイルなどの学習用コンテンツを提供し、各自のペースで好きなように学習を進めていただきます。

それに対して、トレーニングコースは、二ヶ月間にわたって開催される期間の決まったコースになります。

基本的には、コンテンツコースと同様に、学習コンテンツを参考に各自で学習してもらうのですが、可能な限り、講師が指示するペースで学習と課題チャレンジをこなしていただきます。

その学習ペースに合わせて、定期的にライブウェビナーを開催し、課題の答え合わせやプログラムの組み方/改善方法のアドバイスをしていきます。

プログラミング未経験の方は、基本スクリプトを開発する一巡目の学習で二ヶ月が終わり、二巡目の学習は動画を見ながらの独学になりますが、ご質問はフォーラムにて受け付けています。

価格設定と提供時期

さて、サービスの提供時期に関してですが、第一回目のトレーニングコースは、2020年の年明けとともにスタートし、2月末まで開催します。

コンテンツコースは学習コンテンツがすべて揃ってからでないとご提供できませんので、第一回目のトレーニングコース終了後、概ね 2020 年 3 月中旬からご提供が可能になると思います。

弊社のセミナーの中で入門編という位置付けのため、当初は価格を抑え気味にするつもりでしたが、いろいろ盛り込んで内容的にかなりのボリュームになったため、

  • コンテンツコース - 220,000 円(税別)
  • トレーニングコース - 350,000 円(税別)

という価格設定にさせていただこうと思います。

ただし、第一回目のトレーニングコースだけは、開始時点ですべてのコンテンツが揃っていないことと、初回から参加してくださった方々への感謝を込めて、 240,000 円(税別)にてご提供いたします。

参加を検討してくださっている方は、以下の商品ページなどもご覧下さい。提供されるサービスなどについて詳しく記述しています。

ストアでは、既に購入が可能な状態になっており、お支払いは PayPal や Stripe を通じたクレジットカード払いや銀行振込に対応しています。

開催までまだ間があり、現時点ではフォーラムやコンテンツの準備も整っておりませんが、参加を決めて下さった方はご購入いただくことができます。

ご購入がフォーラムアカウントと紐付きますので、フォーラムアカウント作成後にご購入下さいますようお願いします。

来月くらいから、完成したコンテンツを順次ご覧いただけるようにしつつ、Discord などのご用意を進めていく予定です。

本コースに関するご質問などは弊社ウェブサイトのお問い合わせフォームからお送り下さい。