ビットコイン等暗号資産自動取引AIアプリ『bitBuyer 0.8.1.a』とは

ビットコイン等暗号資産自動取引AIアプリケーション、コードネーム『bitBuyer 0.8.1.a』は、暗号資産(仮想通貨)の自動取引を誰でも簡単に始められる、オープンソースの最先端AI搭載型アプリケーションです。ビットコインイーサリアムデイトレード短期トレードを効率的に行い、利益の最大化を目指す設計が特徴です。初心者にも使いやすいインターフェースを備え、AI技術による高度な分析で、資産運用の未来を切り拓きます。このプロジェクトは透明性と柔軟性を重視し、自由にカスタマイズ可能なソースコードを通じて、新しい可能性をご提供いたします。以下は、この暗号資産自動取引AIアプリケーションを中心とするbitBuyerプロジェクトの解説です(内容はGitHub Wikiと同じです)。

bitBuyerプロジェクトの概要

bitBuyerプロジェクトは、Shohei KIMURAが2023年10月29日に社会貢献活動として個人で開始した「暗号資産(仮想通貨)自動取引AIアプリケーション開発プロジェクト」です。暗号資産とはビットコイン(BTC)やイーサリアム(ETH)のことを指し、このプロジェクトは、端的に表現すれば「ビットコイン対円の自動取引を行う」アプリケーションを開発するものとなります。このプロジェクトはオープンソースであり、誰でも無料でソースコードにアクセスすることができ、個人利用の範囲内であれば自由にソースコードを変更することが許可されております。また、ライセンス「GPLv3」に従うことで、第三者が改良を施したソースコードを再配布することも許可されております。オリジナル版のコードネームとして用いられている『bitBuyer 0.8.1.a』の “0.8.1.a” は、これがオリジナル版であり、第三者による改訂版ではないことを示すものです。従って、これはアプリケーションのバージョンを表すものではありません(現在、アプリケーションは未完成なため、バージョン表記は行っておりません)。


なぜ今さらビットコインの自動取引?

──よく聞かれます。しかし、私たちの答えはシンプルです。

「いまさら?──いや、ようやく “まともな奴” が来ただけです」

「じゃあいままでのはまともじゃないのか?」という声もあるかもしれません。もちろん、「これまでのプロジェクトが不真面目だった」と言いたいわけではありません。ただ、“まとも” という言葉を、OSSの持続可能性・設計思想・ユーザーの学びやすさという軸で捉えたときに、『bitBuyer 0.8.1.a』はその3点を同時に成立させようとする珍しい存在です。

派手さはなくても、本当に動き、読めて、“育つ” ──そんな「正気の設計」を目指しています。

……とはいえ、機能設計だけを見れば、実はけっこう派手です。
でもそれもそのはず。“見た目はシンプル、中身は変態”。それが『bitBuyer 0.8.1.a』。


ビットコイン等暗号資産自動取引AIアプリケーション、コードネーム『bitBuyer 0.8.1.a』は、アプリケーション自らが自律的に自動でビットコイン等の売買を行うという特性上、多くのオープンソースソフトウェア開発プロジェクトが直面する「資金調達」問題を解決する可能性を秘めております。bitBuyerプロジェクトは、将来のあらゆるオープンソースソフトウェア開発プロジェクトが『bitBuyer 0.8.1.a』を活用することで、資金問題を解決する未来を描いております。

ビットコイン等暗号資産自動取引AIアプリケーション、コードネーム『bitBuyer 0.8.1.a』が全ての機能を備えた安定版となった暁には、bitBuyerプロジェクトは、『bitBuyer 0.8.1.a』が生み出す自動取引益という資金力を背景に、汎用型企業経理システムを次のOSS(オープンソースソフトウェア)として開発いたします。bitBuyerプロジェクトによる汎用型企業経理システムは豊富な機能と信頼性と共に無料で公開され、数ある経理システムが全て有料であり、「有料が当たり前」という固定観念を生み出している現状を破壊します。この開発フェーズが終了した後は、bitBuyerプロジェクトは企業が必要とするシステム群の開発に順次着手し、完成と共に無料で公開いたします。これにより、bitBuyerプロジェクトは「企業システムはOSSが標準」という時代を切り開きます。

bitBuyerプロジェクトの最終的な目標は、あらゆるスタートアップ企業がイニシャルコストランニングコストを抑えて企業システムを構築できる未来を開拓することです。

bitBuyerプロジェクトの背景

bitBuyerプロジェクトは、2023年10月時点で「暗号資産取引を自動で行うアプリケーションが存在していない(少なくともShohei KIMURAが探した限りでは見当たらない)」こと、「暗号資産取引所が各種API(アプリケーションプログラミングインターフェース)を公開することは通常の慣例となっている」こと、かつ「ChatGPTの登場により、個人でも迅速に開発を行うことが可能となっている」ことを踏まえ、「誰でも簡単に暗号資産取引を自動で行うことができるようにする」ことを目標として発足いたしました。

bitBuyerプロジェクトの目的

bitBuyerプロジェクトは、「誰でも簡単に暗号資産取引を自動で行うことができるようにする」ことを目標として掲げていることから、その一環として、ソースコード内には「可能な限り分かりやすい、プログラミング初学者向けのドキュメント」を豊富に配置する方針を採用しております。これは、近年の日本の教育現場でのプログラミング科目の必修化に配慮したものであり、ドキュメントは「ソースコードがそのまま教材として機能する」ように整備されております。開発言語として、高レベルに抽象化されていてプログラミング初学者でも比較的理解しやすいPythonを採用しているのもこの教育目的のためであり、アプリケーションが実行する自動取引アルゴリズムに若干のパフォーマンス影響を及ぼすことも考慮に入れた上で、「誰でも簡単に」を追求することを優先しております。この理念は『bitBuyer 0.8.1.a』だけでなく、『bitBuyer 0.8.1.a』の開発フェーズが完了した後に展開される『汎用型企業経理システム』や『その他企業システム』にも適用され、各企業が自社のニーズに合わせてシステムをカスタマイズすることを容易にします。総じて、bitBuyerプロジェクトは全ての公開するソースコードを通じてプログラミング初学者に教育的価値を提供し、プログラミングの実践的なスキルの向上に貢献します。

bitBuyerプロジェクトの付加価値

従来から今日に至るまで、オープンソースソフトウェア(Open Source Software:OSS)開発プロジェクトには、プロジェクトに参加するメンバーへのインセンティブの支払いやインフラ維持費用(開発環境維持費用、サーバー代、サイト運営費など)の捻出が課題として存在しています。これを賄うためには、スポンサーの獲得、OSS開発プロジェクト支援金への応募などが必要です。場合によっては、特定の企業からの資金提供を受け、その企業の意向を反映させながら開発を行わざるを得ないという状況も発生し得ます。しかし、bitBuyerプロジェクトがビットコイン等暗号資産自動取引AIアプリケーション、コードネーム『bitBuyer 0.8.1.a』をOSSとして完成させれば、OSS開発プロジェクト発起人や参加メンバーが『bitBuyer 0.8.1.a』に資産運用を任せ、イニシャルコストランニングコストを自動売買の運用益で賄えるようになります。それだけでなく、OSS開発プロジェクト参加メンバーは、まとまった金額を『bitBuyer 0.8.1.a』で運用することで本業を設けることなく、OSS開発プロジェクトに貢献するための社会活動を行うことができるようになります。

オープンソースソフトウェア開発プロジェクトが資金調達問題から解放される──。
これはOSS史上稀に見る大転換点とも言えるでしょう。bitBuyerプロジェクトは、全てのOSS開発プロジェクトを資金調達問題から解放するべく、開発活動に邁進してまいります。

プラットフォーム互換性

ビットコイン等暗号資産自動取引AIアプリケーション、コードネーム『bitBuyer 0.8.1.a』はShohei KIMURAの開発環境、macOSで動作するように設計されておりますが、これはWindows等の他のプラットフォームとの互換性を排除するものではありません。開発の基本方針として、OS固有の機能を使用する部分は可能な限り少なくし、依存関係を排除できない部分については明確に分離し、サードパーティの開発者が他のプラットフォーム向けに最適化する際の手間を最大限排除する方針を採用しておりますため、サードパーティの開発者は比較的容易に互換性の拡張を行うことが可能となっております。互換性の拡張または確保のために行わなければならない主な事項としては、以下のものが挙げられます。

特に後者に関しては、より高度な知識と技術が必要な作業となるため、プログラミング初学者はChatGPT等の生成AIの支援を受けながら作業を行うことが推奨されます。

コア機能

ビットコイン等暗号資産自動取引AIアプリケーション、コードネーム『bitBuyer 0.8.1.a』は自動取引アルゴリズムにオンライン機械学習(「逐次的機械学習」とも)によるAI技術を採用する方針であり、主に市場のライブデータを通じてAIモデルをトレーニングし、トレーニングデータから取り引きの最適解を導き出すことで自動取引を実現いたします。トレーニングされたAIモデルはGitHubリポジトリに含まれる予定であり、ユーザーはダウンロードしたAIモデルを使用してすぐに自動取引を開始することが可能になる予定です。このため、従来の為替取引アプリケーションのような複雑なインターフェースになることはなく、また、取引開始前に専門用語が頻出する設定を行わなければならないということもございません。全ては事前に設定済み、及び学習済みであるため、ユーザーは為替取引の未経験者でもストレスを感じることなくアプリケーションの利用を開始することができます。ただし、暗号資産取引において発生しうるリスクや納税義務が生じることがある点についての知識を持っておくことが重要であることに変わりはないため、この点については注意が必要です。

また別の注意点として、『bitBuyer 0.8.1.a』の動作テストは暗号資産取引所「bitFlyer」でのみ行われるため、これ以外の取引所または販売所での利用には互換性の点で問題が生じる可能性がございます。『bitBuyer 0.8.1.a』は高いレベルの汎用性を追求した設計とするため、「bitbank」「BitTrade」「Coincheck」「GMOコイン」のAPIドキュメントも参照して、これらの取引所の仕様にも対応し、さらにHTTP APIリクエスト時のリクエストボディには、一般的に採用されているJSON形式に加えてXML形式や単なるURLクエリにも対応しております(HTTP APIへのリクエスト実行部分は現在開発中)。また認証方式(署名)はHMAC-SHA256に標準対応とし、さらに別の認証方式にも対応することを検討しております。また、レスポンスデータからのデータの抽出及び正規化も、どのようなレスポンスデータが返されても対応できるように設計されております。これらの対応からお分かりの通り、取引所との互換性の点で問題が生じる可能性は可能な限り排除する設計となっておりますが、アプリケーションが設計時に参照していない取引所で自動取引を行うには、「接続先編集」画面で、その取引所のAPIドキュメントに記載の仕様に則った設定を行う必要がございます。『bitBuyer 0.8.1.a』の唯一の難点を挙げるとすれば、この設定部分です。

さらにビットコイン等暗号資産自動取引AIアプリケーション、コードネーム『bitBuyer 0.8.1.a』では、オンライン機械学習に加えてフェデレーテッドラーニング(連合学習)機能の導入を構想しております。これは、各ユーザーが自らの端末で取引戦略の学習を行い、個別の取引履歴やプライバシー情報を共有することなく、学習済みモデルの重みのみを交換・統合することで、システム全体としての継続的な性能向上を図るものです。暗号資産市場においては、市場構造の変化に加えて、複数の参加者が同一または類似の戦略を採用することで取り引きパターンが収束し、価格変動の予測可能性が失われる「市場の均質化」が大きな問題となります。均質化とは、参加者の行動が過度に似通うことで市場の非対称性が消失し、結果としてどの戦略も優位性を持たなくなる状態を指します。こうした “集団知” に基づく分散学習の仕組みは、各ユーザー(ノード)の多様性を維持しつつも、全体としての適応力と戦略的創造性を高めるために不可欠です。『bitBuyer 0.8.1.a』では、個人のプライバシー保護とOSSとしての進化可能性を両立させるこの構造を通じて、ユーザーとアプリケーションの双方が “ともに育つ” 環境の実現を目指しています。

追加機能

ビットコイン等暗号資産自動取引AIアプリケーション、コードネーム『bitBuyer 0.8.1.a』はビットコイン等の暗号資産の自動取引を行うという特性上、24時間365日稼働し続けることが要求されます。このため、AI処理部分やその他のコンポーネント(部品)のパフォーマンス、及びメモリの使用効率を最大限効率化し、ユーザーの使用環境のリソース占有率を可能な限り抑える必要がございます。このための配慮の一環として、システムログが一定量以上溜まらないようにする機能が実装されております。『bitBuyer 0.8.1.a』はエンターテインメント性の提供を目的として、画面左部にシステムログを表示するサイドバーを設けており、ここに日本語で、現在行っている処理の内容をリアルタイムで表示いたします。このシステムログのテキストはデバッグ目的に使用可能なものでもありますが、基本的にはエンターテインメント性の提供が目的であるため、これが必要以上に蓄積されないようにすることでメモリの使用効率の向上を図っております。とはいえ、どちらかと言えばAI処理部分がリソース占有率の大部分を占めるため、目下の課題はこちらのパフォーマンスの向上にございます。

  • 利益試算機能:エンターテインメント性の提供の一環として、現在のトレーディングパフォーマンスに基づいた将来の利益の試算機能を実装予定です。
  • ChatGPTによる市場センチメントの分析機能:エンターテインメント性の提供の一環として、AIモデルが市場のライブデータに応じて自動で選択する取引戦略が現在の市場センチメントに適しているかをユーザーがChatGPTに確認し、必要に応じてAIモデルの学習データにユーザーの判断を組み込む機能を実装予定です。一見すると有用な機能に見えますが、AIモデルは5年間かけてライブデータを基に学習・強化されるため、その間の市場センチメントも織り込み済みであり、ことにデイトレード・短期トレードを行う『bitBuyer 0.8.1.a』においては、追加的な市場センチメントの影響はあまり受けません。
  • ヒストリカルデータCSV保存機能:通常、暗号資産取引所では取引成績を報告書にまとめる機能が提供されておりますが、『bitBuyer 0.8.1.a』では複数の取引所(最大五つ)に同時に接続して同時に異なる取り引きを行う機能が実装されるため、それぞれの取引成績を一つのCSVファイルにまとめて保存する機能を実装予定です。ただし、似たようなことはChatGPT等の生成AIでも行えるため、この機能の実装の優先度は低めです。

現在の開発状況

ビットコイン等暗号資産自動取引AIアプリケーション、コードネーム『bitBuyer 0.8.1.a』は現在、HTTP APIへのリクエスト実行部分を開発中です。開発済みの機能は以下にまとめます。

※2024年6月末から10月末までの開発休憩期間を経て、現在は公式サイトの充実に取り組んでおります。これが終わり次第、開発を再開いたします(最新のお知らせ)。

以下は今後の開発予定です。

  1. HTTP API実行部分の完成
  2. 接続先編集GUIの完成
  3. 暗号化キー定期更新機能(通信基盤)
  4. AI処理部分の構想と基礎実装
  5. 学習ログ構造の内部保存機能(FLの土台)
  6. モデル構造のバージョニング機構(FLに必須)
  7. フェデレーテッドラーニング・プロトタイプ(手動による学習重み共有)
  8. フル・フェデレーテッドラーニング(学習重みの統合と再配布の自動化)
  9. 利益試算機能(おまけ)
  10. ChatGPTによる市場センチメント分析機能(おまけ)
  11. ヒストリカルデータのCSV保存機能(おまけ)

開発予定は進捗に応じて適宜追加及び変更されます。

こだわり

Shohei KIMURAは重複処理の記述を最大限行わない効率的なコーディングを行いつつ、一つのメインモジュールの行数が増加していくことを楽しんでおりますため、このメインモジュールを複数のモジュールに分割することは考えておりません(モノリシック方式)。このため、あくまでオリジナル版(『bitBuyer 0.8.1.a』)はメインモジュールのみで構成されます。従って、単に複数のモジュールに分割したものを改訂版として再配布することも許可されております(モジュール化)。

さらにアーキテクチャにもモノリシック方式を採用し、AWSなどのクラウドサービスは使用しないため、『bitBuyer 0.8.1.a』は全てがローカル環境で動作する完全スタンドアロンなアプリケーションになります。現在の標準的なエンドユーザーのPCスペックではやや動作に要するリソースが過大になる可能性はございますが、『bitBuyer 0.8.1.a』は10年後、2035年以降のMacBook Air / Proの標準装備で動作することを前提とするため、開発期間中にコストが発生しないこの方針を採用しております。

また、Pythonでは関数名はスネークケースで記述することが一般的ですが、Shohei KIMURAはこれを好まないため、アッパーキャメルケースを使用しております。さらに変数名もアッパーキャメルケースにしております。これはこのプロジェクトの目的である教育的価値の提供に反するものではございますが、この点についてはShohei KIMURAの好みを優先しております。従って、単にこれを変更したものを改訂版として再配布することも許可されております。

ご寄付いただけますか?

このプロジェクトは完全なオープンソースプロジェクトとして、アフィリエイトを含め、営利活動を一切行っておりません。このため、開発者Shohei KIMURAは完全な社会貢献活動としてこのプロジェクトに取り組んでおります。もし、ご寄付いただけると、それは大きなモチベーションに繋がります。

お気持ちだけでも構いません。あなたの手で、このプロジェクトを応援してみませんか?
寄付ページはこちら