banner
andrewji8

Being towards death

Heed not to the tree-rustling and leaf-lashing rain, Why not stroll along, whistle and sing under its rein. Lighter and better suited than horses are straw sandals and a bamboo staff, Who's afraid? A palm-leaf plaited cape provides enough to misty weather in life sustain. A thorny spring breeze sobers up the spirit, I feel a slight chill, The setting sun over the mountain offers greetings still. Looking back over the bleak passage survived, The return in time Shall not be affected by windswept rain or shine.
telegram
twitter
github

驚くべきPython自動化スクリプト、あなたは試すべきです(2)

3、防篡改。この自動化スクリプトは、任意のファイルをテストし、それが改ざんされているかどうかを識別するのに役立ちます。

# hashlibモジュールをインポートし、暗号化ハッシュ機能を使用します。
import hashlib
# osモジュールをインポートし、ファイルとディレクトリを操作します。
import os

# 関数calculate_sha256を定義し、ファイルのSHA-256ハッシュ値を計算します。
def calculate_sha256(file_path):
    sha256 = hashlib.sha256()  # sha256ハッシュオブジェクトを作成
    # バイナリ読み取りモードでファイルを開く
    with open(file_path, 'rb') as file:
        # ファイル内容を読み取り、4096バイトずつ読み取る
        for chunk in iter(lambda: file.read(4096), b''):
            sha256.update(chunk)  # ハッシュオブジェクトの状態を更新
    return sha256.hexdigest()  # ハッシュ値の16進数表現を返す

# 関数check_integrityを定義し、ファイルの完全性を検証します。
def check_integrity(file_path, expected_checksum):
    actual_checksum = calculate_sha256(file_path)  # ファイルの実際のSHA-256ハッシュ値を計算
    return actual_checksum == expected_checksum  # 実際のハッシュ値と期待されるハッシュ値が同じか比較

# このスクリプトが直接実行された場合。
if __name__ == "__main__":
    file_path = input("ファイルのパスを入力してください: ")  # ユーザー入力のファイルパスを取得
    expected_checksum = input("期待されるSHA-256チェックサムを入力してください: ")  # ユーザー入力の期待されるSHA-256ハッシュ値を取得
    
    # ファイルが存在するか確認
    if os.path.isfile(file_path):
        # check_integrity関数を呼び出してファイルの完全性を検証
        if check_integrity(file_path, expected_checksum):
            print("ファイルの完全性が確認されました: ファイルは改ざんされていません。")  # 検証成功
        else:
            print("ファイルの完全性チェックに失敗しました: ファイルは改ざんされている可能性があります。")  # 検証失敗
    else:
        print("エラー: ファイルが見つかりません。")  # ファイルが存在しないエラーメッセージ

4、スマートトレーディング。この自動化スクリプトは、トレーダーや投資家が投資したい任意の株式をよく理解するのに役立ちます。これは、Yahoo Finance から取得した過去の株式データに基づいて、Python の Prophet ライブラリを使用して最近の株価を予測します。

# Webアプリを作成するためにStreamlitライブラリをインポート
import streamlit as st
# 日付を処理するためにdateをインポート
from datetime import date
# Yahoo Financeから株式データを取得するためにyfinanceライブラリをインポート
import yfinance as yf
# 時系列予測を行うためにProphetライブラリをインポート
from prophet import Prophet
# ProphetのPlotly描画インターフェースとPlotlyグラフオブジェクトをインポート
from prophet.plot import plot_plotly
from plotly import graph_objs as go

# 予測の開始日と現在の日付を設定
START = "2015-01-01"
TODAY = date.today().strftime("%Y-%m-%d")

# Streamlitを使用してアプリのタイトルを作成
st.title('株式予測アプリ')

# ユーザーが株式を選択できる選択ボックスを設定
stocks = ('MSFT', "TSLA", 'GOOG', 'AAPL', "NVDA")
selected_stock = st.selectbox('予測のためのデータセットを選択', stocks)

# ユーザーが予測する年数を選択できるスライダーを作成、範囲は1年から4年
n_years = st.slider('予測年数:', 1, 4)
period = n_years * 365  # 年数を日数に変換

# 株式データをロードするためのキャッシュ関数を定義し、毎回セッションを再ロードしないようにする
@st.cache
def load_data(ticker):
    data = yf.download(ticker, START, TODAY)  # Yahoo Financeから株式データをダウンロード
    data.reset_index(inplace=True)  # DataFrameのインデックスをリセット
    return data

# データのロード状態を表示
data_load_state = st.text('データを読み込み中...')
data = load_data(selected_stock)  # 関数を呼び出してデータをロード
data_load_state.text('データの読み込み... 完了!')  # ロード状態を更新

# 元のデータの最後の数行を表示
st.subheader('生データ')
st.write(data.tail())

# 元のデータの始値と終値を描画する関数を定義
def plot_raw_data():
    fig = go.Figure()
    fig.add_trace(go.Scatter(x=data['Date'], y=data['Open'], name="株式始値"))
    fig.add_trace(go.Scatter(x=data['Date'], y=data['Close'], name="株式終値"))
    fig.layout.update(title_text='範囲スライダー付きの時系列データ', xaxis_rangeslider_visible=True)
    st.plotly_chart(fig)

plot_raw_data()

# Prophetを使用して予測を行う
df_train = data[['Date', 'Close']]
df_train = df_train.rename(columns={"Date": "ds", "Close": "y"})
m = Prophet()
m.fit(df_train)
future = m.make_future_dataframe(periods=period)
forecast = m.predict(future)

# 予測データを表示し、描画
st.subheader('予測データ')
st.write(forecast.tail())
st.write(f'{n_years}年間の予測プロット')
fig1 = plot_plotly(m, forecast)
st.plotly_chart(fig1)

# 予測コンポーネントを表示
st.write("予測コンポーネント")
fig2 = m.plot_components(forecast)
st.write(fig2)
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。