pythonでのYahoo Finance API

yfinanceのインストール

yfinanceはpythonのでYahoo Financeにアクセスするためのライブラリです。個人利用しか出来ないです。

https://pypi.org/project/yfinance/

pipをインストールして、yahoo finance ライブラリをインストールします。

   # apt install pip
   # pip install yfinance

テーブル作成

json型を使います。

    create database finance;
    CREATE USER 'finance'@'localhost' IDENTIFIED BY 'xxxxx';
    GRANT ALL PRIVILEGES ON * . * TO 'finance'@'localhost';
    use finance;
    CREATE TABLE YahooFINANCE (
      t_date date NOT NULL,
      ticker VARCHAR(255) NOT NULL,
      attr JSON,
      CHECK (JSON_VALID(attr)),
      PRIMARY KEY (t_date,ticker)
   );

GOOGLEの情報をデータベースにinsertし、selectするpy

import mysql.connector
import yfinance as yf
import json

ticker = yf.Ticker("GOOG")

conn = mysql.connector.connect(
    user="finance",
    password="xxxxx",
    host="localhost",
    database="finance")
cur = conn.cursor() 

sql = ('INSERT INTO YahooFINANCE (t_date, ticker, attr) VALUES (now(6), %s, %s) ON DUPLICATE KEY UPDATE attr = VALUES (attr);')

data = [
     ('GOOG', json.dumps(ticker.info)) 
]

cur.executemany(sql, data)

conn.commit() 

cur.execute("SELECT t_date,ticker FROM YahooFINANCE", ()) 

for id,ticker in cur: 
    print(f"TICKER: {ticker}, ID: {id}")

conn.commit()