記事一覧

米国株について

こんにちわ

Yahoo USAから取得していた、米国株データが先週から取得出来なくなっていました。 使用している古いソフト(Delphi6+Indy)では、いろいろやってもうまくいかないため、とりあえず、Python(プログラム言語)で別途米国株データを取得するアプリを作成し、そのデータをFchartで追加することにしました。 Verupでデータ更新可能です。 ユーザー自身が米国株データを追加している方は、あまりいないと思いますが、もし、自身で追加を希望する場合は、メールをください。 取得アプリを公開します。 ただし、使用には、Pythonのインストールが必要です。

米国株データの取得、getusa.pyのソース

requestsモジュールがないとエラーがでたら、コマンドプロンプト画面で下記を実行してインストールしてください。

>pip install requests
スポンサーサイト

コメント

getusa.pyの公開

希望があったので、getusa.pyのソースを公開します。
この短いソースは、python用です。 Fchartのフォルダーへでも保存して実行してください。 実行すると、Yahoo USAのヒストリカルデータページから、usa.lstに記載されている銘柄の画面を、銘柄ごとにテキストファイルに落とします。 たとえば、^DJI(NYダウ)なら、https://finance.yahoo.com/quote/%5EDJI/history?ltr=1のページを、usaフォルダーに、^DJI.txtとして全画面をテキスト保存します。 その後、Fchartを起動し、メニューのインターネット、米国データの自動追加を実行すると、このテキストデータから必要な日付のデータを調べて、Fchartが追加し、^DJI.txtを削除して終了です。

注意
1.ソースにusa.lstとusaデータの保存フォルダーを直接指定する箇所がありますので、自身のフォルダーと合っているか確認してください。
2.Verupを実行して最新のFchartのバージョンで実行してください。
3.pythonのソースは、各行の始めの空白にも意味があります。 ソース全体をgetusa.pyとしてコピー保存してください。 実行は、python getusa.pyです。
4.質問等がある場合は、ここへのコメントでお願いします。
 
------------------------------

# -*- coding: utf-8 -*-

import requests
import time

fin = open('c:/fchart/usa.lst','r')
while True:
lst = fin.readline()
print(lst)
lst = lst.split(',')
if len(lst[0])>0:

try:
url = 'https://finance.yahoo.com/quote/'+lst[0]+'/history?ltr=1'
result = requests.get(url)
except:
print('can not get file errir = '+lst[0])

try:
fout = open('c:/fchart/usa/'+lst[0]+'.txt','wb')
fout.write(result.content)
fout.close()
except:
print('can not write error = '+lst[0])

else:
break

fin.close()


トライしてみましたが

アプリのUPありがとうごさいました。
Python3.6.4より、下記の通り実行しましたが、うまくいきません。
実行方法が間違っているのでしょうか?

>>> python getusa.py
File"<stdin>",line1
python getusa.py
^
SyntaxError: invalid syntax
>>>

旧VerのFchartと併存させていますので、最新版は”Fchart7.4.13のファイルにしていますので、アプリの2カ所を('c:/fchart7.4.13/ とし、USAファイルを7.4.13にも併存させています。

アドバイスいただければ幸いです。

No title

フォルダーが合っているとすると、Pythonの実行場所ですね。 Pythonは、ソースのあるフォルダーで実行する必要があります(あるいは、Python c:\fchart\getusa.pyのように明示的ソースの位置を指定)。 コマンドプロンプト(Win10はPowerShell)を表示し、cd c:\fchartを実行し、getusa.pyのあるフォルダーに移動してから実行してください。 コマンドプロンプトのプロパティーの作業フォルダーをc:\fchartなどと指定おくと、起動時に希望のフォルダーにすることが出来ます。

No title

アドバイスありがとうございました。
実行フォルダー Python c:\fchart7.4.13\getusa.py してみましたが、ダメでした。
Fchartの使用環境を変更(共存を解消)して試みてみます。

No title

ヨコから失礼します。

c:\fchart7.4.13 にfchartを置いているなら、

fin = open('c:/fchart/usa.lst','r')
これを、
fin = open('c:/fchart7.4.13/usa.lst','r') に
修正しなければなりませんよね。

もしくは、fchart7.4.13を fchartにrename するとか
ジャンクションを作成するとかディレクトリのシンボリックリンクをはるなどで。

コメントの投稿

非公開コメント