Skip to content

Instantly share code, notes, and snippets.

View sawadyrr5's full-sized avatar

さわでぃ sawadyrr5

View GitHub Profile
#!/usr/local/bin python
# -*- coding: UTF-8 -*-
from pandas_datareader import data
from pandas_datareader.yahoo.daily import YahooDailyReader
from time import sleep
import urllib.request
import urllib.error
import lxml.html
import numpy as np
import pandas as pd
#!/usr/local/bin python
# -*- coding: UTF-8 -*-
from pandas_datareader.base import _DailyBaseReader
from datetime import datetime
import pandas as pd
import urllib.request
import numpy as np
from time import sleep
_SLEEP_TIME = 0.5
#!/usr/local/bin python
# -*- coding: UTF-8 -*-
from pandas_datareader.base import _DailyBaseReader
import pandas as pd
class TseDataReader(_DailyBaseReader):
@property
def url(self):
return 'http://www.jpx.co.jp/listing/others/margin/tvdivq0000000od2-att/list.xls'
#!/usr/local/bin python
# -*- coding: UTF-8 -*-
from pandas_datareader.base import _DailyBaseReader
import pandas as pd
from datetime import datetime
import urllib.request
class StooqDataReader(_DailyBaseReader):
@property
@sawadyrr5
sawadyrr5 / gist:ddd2e8cf2e8abb1fccc09d9a09b558a3
Last active March 26, 2020 13:54
クラウドベースのアルゴリズムトレーディングサービス"Quantopian"を試してみる

この記事について

Pythonでファイナンス関係の情報を探していたところ見つけた"Quantopian"が面白そうだったので試してみます。 Quantopian

Quantopianとは

クラウドベースのアルゴリズムトレーディングプラットフォームです。ユーザはブラウザで専用のIDE(開発環境)を使ってPythonライクなコードでトレーディングアルゴリズムを作成し、バックテストを行うことができます。Interactive Brokers証券に口座がある場合は、接続してリアルトレードを行うこともできるようです。

何がトレードできる?

2002年以降の米国株/ETFのデータを分足ベースで保持しているようです。

@sawadyrr5
sawadyrr5 / gist:744b9d2dd550ce224033a3ff4de2d735
Created March 26, 2020 13:56
TOPIX Core30, Large70, Mid400, Smallの構成銘柄かどうか調べたりするクラスを作った

はじめに

この銘柄って大型?中型?小型?と気になるときに、指数の構成銘柄かどうかいう情報があると便利ですね。というわけで、任意の銘柄コードを与えるとTOPIXのサイズ別指数のどれに含まれるかのほか、浮動株比率や構成ウェイトを返すクラスを作りました。 なお元データをオンラインで取ってくるのが難しかったので更新は手動です。つらみ。

用意するもの

クラスと同じ場所に以下のPDFをtxt形式で保存しといてください。(Acrobat Readerでできます)

TOPIX(東証株価指数) | 日本取引所グループ 構成銘柄別浮動株比率及び構成ウエイト一覧

@sawadyrr5
sawadyrr5 / gist:56cc519ffa95587f2e19a9f9baa0a0e8
Created March 26, 2020 13:57
Quantopian APIリファレンス

#この記事について QuantopianのAPIリファレンスについて、気になる部分をメモ代わりに日本語化しておきます。なお筆者は英語が不自由なので文章はお察し。

#必須のメソッド アルゴリズムにはinitializehandle_dataの2つのメソッドを実装しなければなりません。3番めのメソッドとしてbefore_trading_startがありますが、これはオプションです。

##初期化 initialize(context)

バックテストの最初に一度だけ呼び出されます。contextオブジェクトはアルゴリズム内のすべての他のメソッドに渡すことができます。

@sawadyrr5
sawadyrr5 / gist:590be6fc2ffeb4635a9b7c15229df20e
Created March 26, 2020 13:57
Pythonで簡単なモメンタム投資モデルを作る

250日ルックバックでモメンタムがゼロを超えたら買い、逆にゼロを下回ったら売ります。

# -*- coding: utf-8 -*-
import pandas_datareader.data as web
from datetime import datetime
import talib as ta
import matplotlib.pyplot as plt
import pandas as pd
@sawadyrr5
sawadyrr5 / gist:39bf93f443dc861d47116e27fc8d5a68
Created March 26, 2020 13:59
APIファースト開発勉強会に参加してきた

11/5に @kantomi さん主催の勉強会に参加してきたので, 得られた知見などをメモしておきます. 個人的にはたいへん有意義な勉強会でありがとうございました. 機会があればまた参加したいと思います.

概要

  1. UI, APIから設計開発をスタートする"APIファースト開発"によってDB設計の確定を後回しにし, DB設計変更による手戻り(=炎上)を防ごう.
  2. ビジネスロジックはSQLで書こう. RDBMSはいろんなことを考慮して実行計画を考えてくれる. O/Rマッパー逝ってよし.
  3. SQLで書けるかどうかはまずExcelで書いてみて考えよう. ExcelでできればSQLでできる.

APIファースト開発のメリット

@sawadyrr5
sawadyrr5 / gist:48c342d6472c7c6b57b8cc1b947488f4
Created March 26, 2020 14:00
pythonでnanacoクレジットチャージできるモジュールPyNanacoを作った

GitHub

PyNanaco

これは何ですか

  • seleniumを使ってnanacoウェブページにアクセスし, ログイン・ログアウト, クレジットチャージ, クレジットカード設定・解除ができます.
  • 1回のコマンドで最大50,000円までのクレジットチャージが可能です.

メリット

  • 50,000円を1回の操作でチャージできるのでweb画面を操作するより簡単
  • 複数枚のnanacoにクレジットカードを設定・解除する作業も数行で記述可能