※このページではアフィリエイト広告を利用しています

【Python応用】「BeautifulSoup」を用いた株価のスクレイピング-終値の偏差算出-

Python

ここでは、「「BeautifulSoup」を用いた株価のスクレイピング」の発展として終値に着目して偏差算出を行ってみました。

スポンサーリンク
スポンサーリンク

行ったこと

「BeautifulSoup」を用いた株価のスクレイピング」の発展をさせて終値に着目して偏差算出を行ってみました。

上記のファイルの「close」を読み込み、平均、偏差を算出して、excelファイルに追記するまでを行いました。

プログラム

import openpyxl
#1---ファイルの読み出し
filename='9024-2020.xlsx'
wb = openpyxl.load_workbook(filename)
ws = wb.active
#2---値の取得
values = []
for cell in ws['E']:
    values.append(cell.value)
#3---文字削除
del values[0]
#4---平均値算出
average_value = sum(values)/len(values)
ws['H1']="average"
ws['H2']= int(average_value)
ws['I1']="deviation"
#5---偏差算出
row_num = 0
for cell in values:
    row_num += 1
    dev = int(cell) - int(average_value)
    ws.cell(row=row_num+1,column=9).value = dev

#6---保存
wb.save(filename)

プログラムは上記になります。

それでは解説していきます。

#1---ファイルの読み出し
filename='9024-2020.xlsx'
wb = openpyxl.load_workbook(filename)
ws = wb.active

はじめにファイルとシートを読み込みます。

#2---値の取得
values = []
for cell in ws['E']:
    values.append(cell.value)

2の部分ではE列の値を読み込み、valuesに入れています。

#3---文字削除
del values[0]

3の部分では、最初の「close」という文字を削除しています。

#4---平均値算出
average_value = sum(values)/len(values)
ws['H1']="average"
ws['H2']= int(average_value)
ws['I1']="deviation"

average_valueで平均値を算出しています。下の「ws[‘H2’]」でこの値を書き込んでいます。

#5---偏差算出
row_num = 0
for cell in values:
    row_num += 1
    dev = int(cell) - int(average_value)
    ws.cell(row=row_num+1,column=9).value = dev

求めた平均を使って偏差を算出しています。算出した偏差は「ws.cell(row=row_num+1,column=9).value」で書き込んでいます。

#6---保存
wb.save(filename)

最後に保存して終了です。

結果

平均と偏差が書き込まれています。とりあえず、終値の偏差を算出してみました。右肩下がりのチャートで偏差を求める意味はないですが、excel操作を勉強するということで許して下さい。

次は分散等も算出してみたいと思います。

タイトルとURLをコピーしました