ゆとり世代の自由研究

勉強が一生終わりません

FlaskのBlueprint

Blueprintの基本コンセプト blueprintがアプリケーション(Flaskインスタンス)に登録された場合に 実行する操作(operation)を記録しておくことです。 Flaskは、リクエストを振り分ける(dispatching)ときや、 あるエンドポイントから別のエンドポイント…

Flaskの設定

Flaskの設定 Flaskのconfigurationで設定する内容は、 デバッグモードの切り替え、secret keyの設定、 その他の環境固有なものです。 設定の基本 app = Flask(__name__) app.config['TESTING'] = True 下記の書き方も同じ意味です。 app.testing = True 組み…

Flaskの基本

Flask pythonでwebアプリをつくるためにFlaskを調査しました。 仮想環境の構築 最初に作成したいフォルダに仮想環境を構築します。 $ python -m venv venv 起動方法 $ venv\Scripts\activat 終了方法 $ deactivate Flaskのインストール $ pip install Flask …

競技プログラミングにpythonで挑む

Atcoderに挑戦 プログラミングの技術向上のためにAtCoderに挑戦してみましたが、 pythonではTLE(時間超過)してしまうので対策を調査しました。 atcoder.jp 標準入力について pythonの標準入力input()は遅いようです。 普通のやり方 n = int(input()) a = […

Pythonのpandasライブラリ

pandasとは DataFrameと呼ばれる表形式のデータを取り扱うライブラリです。 読み書き方法 読み取りは.read_*メソッド、書き込みはto_*メソッドを使います。 *には、csv、json、xml、html、excelなどが使えます。データベースとの連携はsqlです。 titanic = p…

pythonでJSONを扱う方法

目的 webAPIで取得したJSON形式データをpythonで取り扱いたいと思います。 JSONとは、{}などを用いた記法であり、そのままでは文字列型であることから、 dict型などpythonオブジェクトに変換して取り扱う必要があります。 https://docs.python.org/ja/3/li…

streamlit

st.write アプリに引数を書き込みます。 st.write(*args, unsafe_allow_html=False, **kwargs) 数値、データ フレーム、スタイル付きデータ フレーム、各種オブジェクトなどの他のデータ形式も受け入れます。チャート オブジェクトも受け入れます。 マジック…

python アットマーク

・デコレータ 関数を修飾する関数 @デコレーター関数def 修飾される関数(): def say_name(): print("I am Mike") say_name = wrap(say_name) ↓ @で書き換え @wrap def say_name(): print("I am Mike") ・アノテーション 注釈 ▼関数アノテーションの書き方1…

Python 仮想環境の作り方

仮想環境の作成 PS> python -m venv .venv 権限の確認 PS> Get-ExecutionPolicyRestricted 権限が制限されている場合 PS> Set-ExecutionPolicy -Scope CurrentUser RemoteSigned 仮想環境の有効化 PS> .venv\Scripts\activate.ps1 (.venv) PS> パッケージの…

pandas datareaderの使い方

pip install git+https://github.com/pydata/pandas-datareader.git Successfully installed pandas-datareader-0.11.0. ・Tiingo 米国の金融市場のデータが取得できます。 80,000 以上のティッカー (米国株、ETF、投資信託、中国 A 株) 対象となる取引所 ニ…

うねり取りの株取引

相場師朗先生の教え 建玉の操作 はっきりいって、かなり難しい 上昇局面→横ばい局面→下降局面 という、この一連の株価の流れに要する期間は約3カ月から半年かかります。 最後の下げ局面で大きく儲けを取るために・・・ 上昇してきた株価は上がったからとい…

暴落時の株取引

相場師朗先生の教え 暴落は年に、2・3回はある。 暴落というのは、年に2・3回、常にあります。 株価がずっと上がり続けるというのは無く 3ヶ月ないしは、6ヶ月間も上がり続ければ必ず下がります。 暴落の始まりと終わりは 「1000円毎の節目」近辺…

ショットガンの株取引

相場師朗先生の教え 上昇局面の一部分、下降局面の一部分を取る。 欲を出さない、超短期の取引 ショットガン投資法 トレードの基本。 1、勝率を上げるべく、危険は避け「超短期」で売買する2、複数銘柄を「観察」 最初は15銘柄位を観察。3、「ああなっ…

短期トレードの株取引

相場師朗先生の教え 自分の思い込みだけで株価を売り買いするのでは無く 株価の動きを1つ1つ丁寧に確認しながら 柔軟に対応するのが、 相場先生の株トレードの特徴になります。 前回の60日線に触れた時からの期間がたったの7日間と短いので弱い 横ばい…

下降局面の株取引

相場師朗先生の教え 20日移動平均平均線を大きく上回ってきたという事は 下げ止まる予兆が出てきたという事です。 しかし、このまま一気に上昇する訳ではありません。 株価は簡単には上昇しないのです。 ただ、このあと下がったとしても 前の安値の近辺で…

上昇局面の株取引

相場師朗先生の教え 何回、反発するかは分かりません。 何度目で、大きく下げ出すのかも分かりません。 株価と移動平均線との接触回数が増えれば増えるほど、 割り込む確率が高くなってきます。 株価と移動平均線の接触回数にはこだわらない。 単に上がった…

横ばい局面の株取引

相場師朗先生の教え 上げるか、下がるか、横ばいか B局面(横ばい)→A局面(下降)→B局面(横ばい)→C局面(上昇) B局面が終わって下げだしてA局面になったら空売り。下がっているA局面から、横ばいにってB曲面になれば空売りを手仕舞う。横ばいの…

株の売買シグナル

相場師朗先生の教え ・買いのシグナル 「下半身」5日線が、横バイもしくは上向きに転じたとき陽線のローソク足が体半分以上、5日線の上に突き抜けたとき、上昇に転じる。 ・売りのシグナル 「逆下半身」5日線が、横バイもしくは下向きに転じたとき陰線の…

Streamlitの基本

・実行コマンド streamlit run your_script.py [-- script args] ・st.write import streamlit as st import pandas as pd st.write("Here's our first attempt at using data to create a table:") st.write(pd.DataFrame({ 'first column': [1, 2, 3, 4], …

オプション取引の基本

・コール 購入価格予約の権利 価格を権利行使価格という。 コールを買う人(上方予想)、売る人(下方予想)がいる。 日経平均20000円で買う権利、○○月限C20000 ・プット 売却価格予約の権利 プットを買う人(下方予想)、売る人(上方予想)がいる。 日経平…

Streamlit備忘録

起動方法 streamlit run your_script.py [-- script args] 終了方法 ターミナルでCtrl+C ライブラリ設定 import streamlit as st import pandas as pd 書き込み st.write() データフレームの書き込み st.dataframe() テーブルの生成 st.table(dataframe) 折…

sqliteとbacktesting.py

from backtesting import Backtest, Strategy from backtesting.lib import crossover from backtesting.test import SMA from pandas_datareader import data import pandas as pd import numpy as np import datetime as dt import sqlite3 # 変更する部分…

pandasの株価データフレームをSqliteに格納する

#データベースを作成db = sqlite3.connect('japan_stock_price.db', isolation_level=None)#priceテーブルに収集したデータフレームを格納するdf.to_sql('price', db, if_exists='append', index=None, method='multi', chunksize=5000)

backtesting.pyのサンプルコード

from backtesting import Backtest, Strategy from backtesting.lib import crossover from backtesting.test import SMA from pandas_datareader import data code = '6758' start = '2021/01/01' end = '2023/07/20' df = data.DataReader(code+'.JP', 'st…

backtesting.pyの売買条件

売買条件 size: 売買数 (日本株は100株単位なので、ここを100単位で指定する必要がある) limit: 指値 stop: 逆指値 tp: 利食い注文( take profitの略) sl: 損切り注文(stop lossの略)など 例:self.buy(limit=1180, tp=1560, sl=1000)

backtesting.pyの結果表示

Start バックテスト開始日時 End バックテスト終了日時 Duration バックテスト期間 Exposure Time [%] ポジションを保有していた期間の割合 Equity Final [$] 最終的な資金 Equity Peak [$] 資金の最大値 Return [%] 損益 Buy & Hold Retun [%] バイ&ホール…

J-Quantsからデータを取得

上場銘柄一覧と4本値、財務情報と決算発表日の取得 #%% #@title 上場銘柄一覧(/listed/info) #@markdown - 過去時点での銘柄情報、当日の銘柄情報および翌営業日時点の銘柄情報が取得可能です。 #@markdown - データの取得では、銘柄コード(code)または…

J-Quantsに接続する

J-Quantsに接続する方法 別途、"jquants-api.toml"に"mailadress"と”pasword”を設定します。 #%% # https://colab.research.google.com/github/J-Quants/jquants-api-quick-start/blob/master/jquants-api-quick-start.ipynb#scrollTo=CpwnfBFRGVfW #@title …

kabu api始めました。

kabuapiを始めました。 pythonでやってみようと思います。 tokenを取得します。 python kabusapi_token.py パスワードを設定する必要があります。 obj = {'APIPassword': 'password'} 無事、トークンを取得できました。 {'ResultCode': 0, 'Token': 'e50152b…

javascriptの実行方法

Nodeをインストールして下記のコマンドで簡単に実行できます。 node sample.js 以上