About 槌本 裕二

中村純(Atsushi Nakamura)先生が作成された登壇資料 「Quantum Computers for Nuclear/Particle Physicists」を公開いたします

We are pleased to present the slide PDF titled “Quantum Computers for Nuclear/Particle Physicists” created by Prof. Atsushi Nakamura on this page.

Мы рады представить на этой странице слайд PDF под названием “Quantum Computers for Nuclear/Particle Physicists (Квантовые компьютеры для ядерных/частиц физиков)”, созданный профессором Ацуси Накамура.

May 19th 2023


May 10th 2023

Posted in HPC

大きな話題となっているChatGPTや検索翻訳AIは、日本語の将来に大きな影響を与えます。今は、ChatGPTがつくる近未来に日本語が存在するか否かの重要な分岐点にあります。

CahtGPTは、OpenAI社が提供するチャットAIで、質問や指示などをテキストで入力すると、自然な会話の形で回答するシステムです。ChatGPTや、それをベースにしたMicrosoft Bing(検索AI)には、内部構造に言語を設定する項目がありません。日本語で会話を始めると日本語で応答しますし、また、日本語で質問して、フランス語の資料を検索し、ドイツ語で答えさせることもできます。

翻訳AIは、DeepL Translatorなどのサービスで、ウェブページや文章を日本語から他言語に、または他言語から日本語に翻訳できるシステムです。

望む望まざるに関係なく、ChatGPTで文章を書く時代がすぐそこまで来ています。いろんなソフトウェアのコミットログやフォーラムでの議論から、次のリリースでの大きな変更を検出して、リリースノートの下書きを書いてくれるようになります。それらのソフトウェアを集めたディストリビューションにおいても、新しいリリースの収録ソフトウェアのバージョンから、そのバージョンのリリースノートを参照して、自動的にディストリビューションのリリースノートの下書きを書いてくれるようになります。

ChatGPTのような大規模言語AIモデルは多くの側面において大発明です。そして、「文章を理解できる検索AI」としての側面は、ハイパーリンク2.0と言える大転換だと思います。URLを用いたタグで、文章から文章へとひとつひとつ繋がっていたハイパーリンクは画期的な発明でした。今後は、大まかな繋がりを元に、個別の繋がりは検索AIが繋げてくれるようになります。

そして、その検索AIは、こうしたリリースノートを元に、ソフトウェアのドキュメントも改定の下書きも担うようになります。

こうしたとき、とりわけ重要になってくるのが日本語翻訳のユーザーグループの貢献だと思います。というのは、日本語のドキュメントが改訂される方向は二つありうるからです。

– 英語のリリースノートから日本語のリリースノートを生成し、そこから日本語のドキュメントを改訂する
– 英語のリリースノートから英語のドキュメントを改定し、それを翻訳して日本語のドキュメントを改定する

この2つの方法で改訂される2つの日本語のドキュメントは、理想的には同じになるはずです。こうした比較が可能なものは、AIが自分で切磋琢磨して、どんどん賢くなります。将棋のAIが繰り返しAI同士で対戦して強くなった歴史を辿ります。

チャットGPTのような大規模モデルでは、さまざまな言語を同一の学習で同一のパラメーターでカバーします。しかしながら、もちろん世界の全ての言語をカバーするわけではありません。大規模言語モデルの中に日本語のウエイトがどれだけあるかによって、今後、CHatGPTがつくる世界の中で日本語が標準的に使われる言語になるか、それとも進化から切り離された辺境言語になるかの、重大な分岐点にあると思っています。

こうした研究の最前線に日本語話者が加わることも極めて重要ですし、メンテナンスされた日本語のドキュメントがAIの学習用のデータとして存在するということも極めて重要になってきます。

日本語ドキュメントの整備に携わる能力のある方は、自分では英語のドキュメントがあれば十分な方ばかりです。それでも、ほかの日本語話者のために膨大な労力を割いて日本語ドキュメントのメンテナンスをして下さっています。こうした作業が今後ある程度自動化され、持続可能になるために、いま、日本語ユーザグループの活動が、今まで以上に重要になっていると思います。

2050年頃、日本語のドキュメントはAIを中心として維持管理されているか、それとも、誰もメンテナンスしなくなって、英語からの翻訳を読んでいるか、表面的には同じような未来かも知れませんが、私は、この2つは大きく異なる別の未来だと思います。そして、今がその分岐点なのです。


Pythonでできる!株価データ分析 – 森北出版

「Pythonでできる! 株価データ分析」という本を読んだので、ここでレビューする。私自身、Pythonと株価データ解析については初歩的な知識を持っていたため、この本は私にとってはサクサクと読み進めることができた。ただ、未経験者向けのPythonの入門書ではなく、Pythonの基本的な知識は省かれているため、Pythonが初めての方には入りにくいかもしれない。プログラミングが初めてという方は、不厚くない入門書か入門サイトを読んだ方が良いかもしれないが、Pythonは公式サイトが充実しているので、別の言語の経験があれば、公式サイトを都度引きながら本書を読み進めることもできると思う。

本書は、特に、株価データ解析に関するテクニカル指標やグラフの描画方法などをわかりやすく解説している。実際に株価データを使って解析するプログラムのサンプルコードも豊富に掲載されているため、自分でコードを書いて実践的な学びができる。株価の読み解き方は基礎から紹介してあるため、株価のテクニカル分析についての知識がなくても、本書で学びながら読み進めることができる。また、株価に関する知識が豊富な方にとっても、テクニカル分析の用語の厳密な意味や定義を、コンピュータが理解できるプログラミングコードで書くことができるようになり、より高度なデータ解析にも応用できる内容となっている。逆に、Pythonができてデータ解析を学びたい人にもオススメできる。

総じて、Pythonと株価データ解析に興味がある方には、初歩的な知識があれば理解できる内容であり、高度なデータ解析を目指す方にも応用できる本だと思う。

この本は「Pythonで株価データ解析をするための実践的な手法」というテーマで書かれた本で、株価のテクニカル解析についても詳しく解説されている。そのため、プログラミング初心者でも株式投資初心者でも、両方の分野に興味がある方には特に役立つ内容になっている。株式投資の基本を学び、Pythonを使って株価データを収集して、分析して、可視化するまでの手順が紹介されている。特に、株価のテクニカル指標をPythonで計算する方法については、かなり詳しく説明されているので、株式投資初心者でも理解しやすい。

本書では、プログラミングをGoogle Colaboratory上で実行している。Google Colaboratoryを使うことで、プログラミングの初心者でも簡単に始めることができ、同時に最新のサービスを学ぶことができる。Google Colaboratoryを使用すると、ブラウザ上で簡単にPythonを動かすことができる。その上、Colaboratoryの実行環境では、GPUを用いた高速演算を行う事もできる。これが無料で使えるのはとてもお得だ。

本書では「売買シミュレーション」までしか紹介されていないが、GPUを用いた高速演算の話が出たので脱線させて貰うと、この書籍で紹介されているテクニカル分析と売買シミュレーションの延長線上には、アルゴリズム自動売買が念頭にあるように思う。特に、Pythonは、最近注目されているAI(深層学習)技術との相性が抜群に良い。私の理解では、AI技術単独では、テクニカル分析から株価の予想を行うよりも、多くの指標と組み合わせることによりファンダメンタルズ分析を可能にし、複雑な戦略を学習から導く手法だと思う。脱線が続くが、私が考える自動売買の利点には、次の3つがある。

1番目に、自動売買による戦略のパフォーマンスは、過去のデータを使ってシミュレーションで評価できる。この方法により、将来的に実際に取引を行った場合のリスクやリターンを予測することができる。また、過去のデータを使ってシミュレーションを行うため、人間の感情や誤った判断によるトレードのミスを避けることができる。

2番目については、自動売買システムはプログラムに従って取引を行うため、人間の感情的な判断やトレードのミスを回避することができる。また、プログラムが失敗した場合にも、その原因を特定し改善することで、自分の戦略を系統的に強化し続ける事ができる。

3番目については、含み益を得ることよりも含み益を確定することが難しいという問題に対して、自動売買システムは機械的に売買判断を行うため、含み益を確定するタイミングを逃さない。

これらの利点は、もちろん本書で紹介されている「アルゴリズム売買のシミュレーション」にも共通する。そして、このような利点があるため、自動売買は現在、投資家やトレーダーの間で広く使用されている。

言うまでもなく、自動売買にはリスクがあることを理解し、慎重に取り組む必要があるが、適切な戦略を構築し、細心の注意を払いながらプログラムを作成することで、自動売買によって利益を生むことも可能である。プログラミングには熟練が必要だが、実践を重ねながら学習することで、自分にとって最適な戦略を見つけ、自動売買によって損失を避け、利益を生み出すことができるようになるだろう。

本書では、AIや自動売買については紹介されていないが、自動売買に繋がる基本的な知識や技術を紹介しており、自動売買に興味のある方にとっても、導入として役立つ情報が詰まっている。


この本は技術サイトに連載されていた記事を書籍化したようだ。そのおかげで、各章節ごとに話が完結していて、小さな目標を達成しながら読み進められるようになっている。コードも詳細に解説されており、初心者でも理解しやすいようになっている。

最終的には、ローソク足と5日・25日平均線のグラフを自分で描くことができるようになる。また、pythonには多くのライブラリがあり、それらを使うことで、本書で紹介されている手法より高度な分析を行うことも可能だ。

本書で紹介されているフレームワークやライブラリは、現在のPythonの主要ライブラリであるため、実践的にまとめて習得することは非常に有益だ。NumPyは数値計算用のライブラリであり、高速な行列演算などの数値計算を行うことができる。Pandasはデータ分析用のライブラリ(フレームワーク)であり、データの読み込み、整形、集計などを簡単に行うことができる。TA-LIBは、ローソク足を含むさまざまな種類のグラフをブラウザ上で描画することができるライブラリである。このTA-LIBは王道とは少し外れたライブラリかも知れないが、株価データのプロットにはとても便利だ。このほかに、データの可視化に便利なライブラリとしてMatplotlibなどがある。これらのライブラリを組み合わせることで、かなり強力な株価データ分析や機械売買戦略を組むためのグラフを自在に描画することができる。この延長線上にあるのはPyTorchやTensorflowといった深層学習ライブラリであろう。これらとの組み合わせには、より高度なスキルが必要になるため、本書で基礎を学んでから、挑戦してみることをおすすめする。

TA-LIBで可視化したNTTの株価推移と平均移動線

この図を描くためのPythonコードはGitHubで公開しておく。


本書ではGoogle Colaboratoryを利用することで、Windowsでも簡単にpythonの開発環境を構築することができた。Google Colaboratoryはクラウド上のPython実行環境で、ブラウザ上でPythonコードを実行できるため、自分のパソコンにPythonをインストールする必要がない。Google Colaboratoryを使うためにはGoogleアカウントが必要だが、無料で利用できる。

もちろん、このGoogle Colaboratory も大変便利なのだが、より本格的にプログラミングを学習していくには、手元のパソコン上にプログラミングに特化した環境を整えた方が良いかもしれない。Visual Studio Code (以下、VSCode)は、マイクロソフトが開発した、オープンソースかつ高機能なコードエディタである。VSCodeは、シンタックスハイライトや自動補完・デバッグ支援など、プログラミングを効率よく行うための基本的な機能を備えているだけでなく、拡張機能を導入することで、様々な言語に対応した高機能プログラミング環境として使うことができる。

また、VSCodeはリアルタイムにプレビューを確認できるLive Serverという拡張機能があるため、HTMLやCSSを書く際にも非常に便利である。こうした技術と組み合わせることで、グラフや文字などを高度に組み合わせたり、あるいは、独自のアプリを構築することも可能になる。これも本書の範囲外だが、本書で紹介したTA-LIBは、こうした応用にも便利なようだ。

さらに、VSCodeはGitやGitHubとの連携も非常に簡単にできるため、バージョン管理やチーム開発にも向いている。これらの機能は、パソコンでのプログラミングにおいては必須であるため、VSCodeを利用することでより便利に、効率的にプログラミングを行うことができる。

もちろん、初めての人にとっては、VSCodeの使い方を覚えるまで少し手間がかかるかもしれない。ここに時間を掛けるぐらいなら、本書で紹介されているGoogle Colaboratoryをブラウザから利用して今日からプログラミングを始める方が良いだろう。しかし、VSCodeは使い方を覚えることで、長期的なプログラミング学習や開発において非常に大きな利益をもたらすと思う。私も長年emacsという伝統のエディタ(環境)を愛用してきたが、最近はすっかりVSCodeの便利さに浸ってしまった。このVSCodeからGoogle Colaboratoryを使うこともできるし、パソコン上に(ローカルに)開発環境を構築することも可能だ。ただ、Windows での TA-Lib 導入は若干面倒だ。このサイトから Python のバージョンを調べて、該当する whl ファイルをダウンロードし、pip install でダウンロードしたファイルをインストールする。ただし、最新の Python 用のパッケージは出ていないかもしれない。

このような理由で、Pythonのバージョンをこまめに調整したいことは多い。Pythonのバージョン管理を行うのに便利な pyenv だが、Windowsで利用するには多少面倒だ。

GitHub から pyenv-win をダウンロードしインストールするには、以下のコマンドを PowerShell で実行する。

Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" -OutFile "./install-pyenv-win.ps1"; &"./install-pyenv-win.ps1"

このコマンドが about_Execution_Policies の制約で実行出来ない場合、一時的にポリシーを緩和する必要がある。上のコマンドの前に

Set-ExecutionPolicy RemoteSigned -Scope Process

を実行すると良い。もちろん、ご利用は自己責任で。

Pythonでできる!株価データ分析 – 森北出版

日頃より栄諧情報システムをご愛顧いただき、ありがとうございます。

このたび、サポーターログインを行っても、コンテンツが閲覧できないという不具合が報告されました。

同様にログインできない(ログインしてもコンテンツが表示されない)という方は、お手数ですが連絡ください。


ヤクルト 50 %
DeNA 49 %
阪神 0 %
広島 0 %
巨人 0 %
中日 0 %

ソフトバンク 51 %
西武 35 %
オリックス 11 %
楽天 2 %
ロッテ 0 %
日本ハム 0 %

全ての数値は四捨五入されているので、合計が 100% にならないかもしれません。

アルゴリズムが固まってきました。想定以上に計算時間が延びてしまい、困っていますが、なんとか改良して実用レベルの速度にして、8月中の自動更新を目指します。