ストックドッグ

KatoTakahiro。金融系の会社で働くSEが株やPython、その他諸々について書いています。サービスも運営してます→http://fmbrain.work

Python

Apschedulerで出るValueError: Unable to determine the name of the local timezon

発生エラー 久々にApchedulerを使うとこんなエラーに出くわしました。忘れそうなのでメモしておきます。 ValueError: Unable to determine the name of the local timezone -- you must explicitly specify the name of the local timezone. Please refrain …

3ファクターモデルをPythonで実装して期待リターンを求める

3ファクターモデルとは CAPMを発展させた理論です。CAPMは、市場のリスクプレミアムのみで期待リターンを求めています。 #CAPM 個別株の期待リターン = β * (市場リスクプレミアム - 無リスク金利) + 無リスク金利 CAPMはとてもシンプルで金融市場の値動きの…

個別株と市場のボラティリティの関係性を示すβをPythonで計算する

βとは βは、CAPMというポートフォリオ理論に出てくる概念であり、個別株と市場のボラティリティの関係性を示します。日本経済新聞のサイトでは、銘柄のβランキングが公表されています。www.nikkei.com 個別株とは、TOYOTAであったりNTTデータであったり、ひ…

現代ポートフォリオ理論(MPT)をPythonで実装しよう

はじめに ~ 現代ポートフォリオ理論って何? ~ Modern Portfolio Theory(MPT) = 現代ポートフォリオ理論。ハリー・マーコウィッツというおじさんが提唱した理論で、ノーベル賞を受賞しています。ファイナンス理論の下敷きというか、基礎でとても大事な考え…

非対称な収益率

収益率の計算方法についての話。(時間も時間なので最低限でまとめます)収益率の計算は、だいたい2種類あります。 収益率(ノーマル) 対数収益率 よく使われる収益率は、これ↓ほげほげ銘柄を2018/7/2、100円で買いました。10日間持っていると、200円になり…

seleniumの2つの待機方法

seleniumの待機方法でsleep.time()を使っている人は、この記事を読んで、心を清めてほしい。 seleniumには、2つの待機方法がある。 Explicit Waits(明示的な待機) Implicit Waits(暗黙的な待機) この2つの待機方法の使い分けは、こんな感じ。 Explicit Waits…

seleniumで起きるエラー ~unknown error: unable to discover open pages~

発生エラー selenium.common.exceptions.WebDriverException: Message: unknown error: unable to discover open pages 発生原因 stackoverflowにナイスな回答あり!https://stackoverflow.com/questions/21001652/chrome-driver-error-using-selenium-unabl…

nginxとuwsgiを使っていてInternal Server Errorが発生したとき

Internal Server Error nginxとuwsgiを使っていてInternal Server Errorがでたので、対処法をまとめておきます。Internal Server Errorが発生している原因は、uwsgiの設定のミスと権限の設定のミスの2つでした。エラーログを見てみる。 cd /var/log/nginx ta…

RSA暗号をpythonで実装してみた(車輪の再発明)

RSA暗号を実装しみてる 半年前にRSA暗号勉強したのですが、ほぼほぼ忘れてしまっていました...記憶力悲しき。RSA暗号を忘れないように、今回はちゃんと記事として置いておこうと。人様に公開するような内容ではありません。 参考記事 非理系が学ぶなら、この…

雑用は全てチャットボットに任せよう計画

今日の記事 自宅のubuntuでpython製のチャットボットを作成しました。このチャットボットは業務効率化のためのキーマンであり、このチャットボットを会社で使いたい。そのために奮闘したことを書き綴ります。 チャットボットを作成しようと思った背景 私の所…

MeCabをPython 3.4.5にインストール in Ubuntu 16.0.4

MeCabのインストールってコケがちらしいです たしかに、ちょっとコケた python 3.5.2 → 失敗 python 3.4.5 → 成功 condaでpythonのバージョンを変えながら、試してると3.4.5で成功。 インストール手順 mecabをインストール。 ついでに辞書も。 #mecabをイン…

bitFlyerのAPIをPythonで使ってみた

bitFlyerのAPIを使ってみた すごく丁寧なドキュメントなので、本当にわかりやすいです。こちらがAPIの公式ドキュメント。https://lightning.bitflyer.jp/docs?lang=ja&_ga=2.266574860.321189620.1504178349-1321023365.1503200033 bitFlyerのAPIが使えるpyt…

エラーの対処法 chrome not reachable

VPSなどの仮想環境でseleniumを扱っていると、こんなエラーに遭遇しました。 selenium.common.exceptions.WebDriverException: Message: chrome not reachable (Driver info: chromedriver=2.29.461571 (8a88bbe0775e2a23afda0ceaf2ef7ee74e822cc5),platform…

「sudo: pip: コマンドが見つかりません」というエラー

現象 このエラーは、pipコマンド自体をアップデートしていなかったら現れるようです。 #pip単体でのインストールはエラーは出ないが pip install library #sudoを組み合わせると、エラーが発生 sudo pip install library sudo: pip: コマンドが見つかりませ…

pythonでシェルスクリプト実行(カレントディレクトリ取得したり、cdしたり)

pythonでシェルスクリプト実行をしたい import os os依存のコマンドをこのライブラリで実行することが出来ます。端末(ubuntu)やターミナル(mac)の上でうつコマンドをpythonのプログラムで書けるなかなか汎用性の高いライブラリです。例えば...カレントデ…

Pythonで画像処理 〜2枚の画像を重ねてみる〜

pythonのライブラリ、pillowを使って、2つの画像を重ねてみたいと思います。重ねる画像はこの2つ。アナログテレビ時代のザザーッって感じのやつ。微妙にこの2つの画像、違います。これを重ねてみます。 以下が重ねるコードです。画像のピクセルを配列に入れ…

ROT13をPythonで実装してみる

目次 目次 ROT13って何? 実装手順 実装してみる このプログラムをじっこうした結果 まとめ ROT13って何? ROT13 または ROT-13、rot13 は単換字式暗号(シーザー暗号)の一つである。アルファベットを一文字毎に13文字後のアルファベットに置き換える。Aは …

seleniumで自動売買 〜SBI証券から自動で株を買ってみる〜

自動売買ってどうやってやるの? アルゴリズムトレードが昨今流行りではありますが。残念ながら日本の証券会社は一般向けに株式売買のAPIは公開されていません。そのため、APIを通してのアルゴリズムによる株の自動売買は現状できません。FXやビットコインは…

seleniumの環境構築と簡単な使い方

今は日曜日の夜2時 環境構築 Youtubeで「YUI」と検索する操作をseleniumを使ってやってみる クリックもできるselenium id要素以外の見つけ方 けっこう簡単だったselenium 今は日曜日の夜2時 早く寝ないと!!明日は仕事なんです。急いで書くのでぶっきらぼう…

herokuでのスケジュール管理にAPSchedulerを使ってみる

目次 herokuで定期的にファイルを実行したいとき何を使っていますか? cron...? heroku scheduler...? cronよりもheroku schedulerよりAPSchedulerが良い heroku上でAPSchedulerを使ってみる 用意するもの まとめ 参考 herokuで定期的にファイルを実行したい…

SQLite3をPandasから操作する

SQL文の操作を覚えるのが面倒...select * from tbl_nameまでが覚えれる限界でした。データの検索・変更などのwhere文等を覚えるのが面倒かつ、逃げ道を見つけてしまったので、逃げ道のほうに行くほかない。ということで、SQLite3のデータをPandasのDataFrame…

PandasのデータをSQLite3で保存する

スクレイピングしたデータをどうすればいいかわからない問題発生 株価データ等をYa〇〇〇ファ〇〇〇〇などからスクレイピングして、今まではCSVファイルでローカルのディレクトリに置いていました。言ってしまえば、スクレイピングして放置状態でした。デー…

Yahooファイナンスの株価予想ページをScrapyでクローリング・スクレイピング

目次 本日やること 必要な環境 なぜscrapy? スクレイピングの流れ Scrapyのインストール Scrapyプロジェクトの作成 Spiderの作成 スクレイピングするサイトを確認 スクレイピングはじまるよー スクレイピング内容をファイルに保存 参考 本日やること Yahoo…

株価の予測精度が60%を超えた

【更新 2017-08-15】 未だによくアクセスがあるので、書いておきます。 この結果が検証したわけではないですが、きっと間違いです。 シミュレーション期間がとても短いこともあって、運が良かっただけのように思います。 検証するのも面倒なので、しませんが…

強化学習で銘柄を選んでみた(検証)

目次 今日やること 強化学習 そもそもn本腕バンディット問題って何? 検証方法 結果 今回のシミュレーションの問題点 非定常環境に対応させたバージョン 今日やること 銘柄選択を強化学習に任せてみよう、ということをお題にシンプルな検証をやってみたいと…

勝機はリスク管理と分散投資にあり!?コツコツドカンはもう嫌だ!

目次 的中率は悪くないのになぜ? 正体はコツコツドカン コツコツドカンを撲滅するために シミュレーションについての説明 売買戦略 リスク管理の方法 分散投資の方法 検証方法 検証期間 シミュレーション結果発表 パターンA 1つの銘柄を購入(リスク管理な…

Pythonで機械学習を使った株価予測のコードを書こう

目次 はじめに 準備するもの 記事の流れ 予測手法 データ収集 前処理 モデルの学習 もう一段ステップアップするには何をしたらいい? まとめ 今回使ったコード はじめに プログラミングを始めたばかりの人、機械学習を使って株価を分析してみたい人、このよ…

クラウドファンディングの成功率ってどのくらい?徹底調査してみた

目次 クラウドファンディングとは? 日本の有名ドコロは? どんなプロジェクトにどのくらいお金が集まっているかを調査します! 調査結果 以上が集計結果でした お金が足りない...はもう言い訳にならない 最後に告知(2回目だけどワクワク) 本記事の調査方…

予測精度向上のための次なる手 〜クラウドファンディングはじめました〜

目次 この記事は前回の続き 前回のシミュレーション結果を踏まえて、熟考と改善を重ねた結果 予測する銘柄数を大幅に減らしました 予測している銘柄少なすぎる問題が発生 シミュレーション結果 いぜん安定せず... クラウドファンディングはじめました おまけ…

機械学習で株価を予測(まとめ) 〜平均予測精度57%〜

過去1年の株価予測シミュレーション結果目次 この記事はまとめ記事です この記事を読んでわかること まず自己紹介 そもそも株価の予測って何?どうやるの? もう少し詳しく 予測手法 決定木についておさらい ランダムフォレストも万能じゃない 説明変数一覧…