AI で日経平均を予言 の記事に csv の自動ダウンロード機能を追加した

ProphetをWindows上のAnacondaにインストール

Anadonda Navigator で prophet という名前で仮想環境を作成。

  • ta-lib テクニカル指標の計算
  • fbprophet 時系列予測ツール
conda install -c masdeseiscaracteres ta-lib
conda install -c conda-forge fbprophet

Anaconda navigator から prophet をクリックして、ポップアップメニューから Open with Python を選択。以下を実行してエラーが出ないことを確認。

from fbprophet import Prophet

自動ダウンロード機能

自動ダウンロード機能は Selenium を使って下記のような感じで実装。ChromeDriver は下記から Chrome のバージョンにあったものをダウンロード。
Downloads - ChromeDriver - WebDriver for Chrome

from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
import time
from selenium.webdriver.chrome.options import Options
import os

path = os.getcwd()
prefs = {"download.default_directory" : path}

options = Options()
options.add_argument('--no-sandbox')
options.add_experimental_option("prefs",prefs)
driver = webdriver.Chrome("C:\chromedriver_win32/chromedriver.exe", options=options)

ダウンロード先に現在の作業ディレクトリを指定。あと、--no-sandbox オプションがないとブラウザがエラー吐いて死んだ。

def download_stock_csv(code_range,year_range):
    for code in code_range:
        try:
            for year in year_range:
                url = 'https://kabuoji3.com/stock/{0}/{1}/'.format(code,year)
                driver.get(url)
 
                try:
                    driver.find_element_by_name("csv").click()
                    time.sleep(3)
                    driver.find_element_by_name("csv").click()
                except NoSuchElementException:
                    print("no data")
                    pass
                time.sleep(1)
 
        except NoSuchElementException:
            print("no data")
        pass
    time.sleep(3)
 
download_stock_csv(range(1320,1321),range(2010,2020))

1320, 1321 の部分にダウンロードしたい証券コードの範囲を入力、2010, 2020 で期間を指定。

f:id:akifumi-ichiki:20190427193453g:plain
動作の様子

出力結果

f:id:akifumi-ichiki:20190427194219p:plain
200日先までの予測
参考リンク