OPEN-SOURCE SCRIPT
チャットGPT

import yfinance as yf
import pandas as pd
import requests
from bs4 import BeautifulSoup
# 株たんのスクリーニング結果URL(例:200日線以下)
url = "kabutan.jp/warning/?mode=3_1"
r = requests.get(url)
soup = BeautifulSoup(r.text, "html.parser")
# 銘柄コードと企業名を抽出
stocks = []
for link in soup.select("td a[href*='/stock/?code=']"):
code = link['href'].split('=')[-1]
name = link.text.strip()
if code.isdigit():
stocks.append({"code": code, "name": name})
results = []
for stock in stocks[:10]: # ←テスト用に10銘柄まで
ticker = f"{stock['code']}.T"
df = yf.download(ticker, period="1y", interval="1d")
# EMA200
df["EMA200"] = df["Close"].ewm(span=200, adjust=False).mean()
below_ema200 = df["Close"].iloc[-1] < df["EMA200"].iloc[-1]
# 株たんの個別ページからPER・成長率を取得
stock_url = f"kabutan.jp/stock/?code={stock['code']}"
res = requests.get(stock_url)
s = BeautifulSoup(res.text, "html.parser")
try:
per = s.find(text="PER").find_next("td").text
growth = s.find(text="売上高増減率").find_next("td").text
except:
per, growth = "N/A", "N/A"
results.append({
"銘柄コード": stock['code'],
"企業名": stock['name'],
"200EMA以下": below_ema200,
"PER": per,
"売上成長率": growth
})
# 結果をCSV出力
df_result = pd.DataFrame(results)
df_result.to_csv("割安EMA200以下銘柄.csv", index=False, encoding="utf-8-sig")
print(df_result)
import pandas as pd
import requests
from bs4 import BeautifulSoup
# 株たんのスクリーニング結果URL(例:200日線以下)
url = "kabutan.jp/warning/?mode=3_1"
r = requests.get(url)
soup = BeautifulSoup(r.text, "html.parser")
# 銘柄コードと企業名を抽出
stocks = []
for link in soup.select("td a[href*='/stock/?code=']"):
code = link['href'].split('=')[-1]
name = link.text.strip()
if code.isdigit():
stocks.append({"code": code, "name": name})
results = []
for stock in stocks[:10]: # ←テスト用に10銘柄まで
ticker = f"{stock['code']}.T"
df = yf.download(ticker, period="1y", interval="1d")
# EMA200
df["EMA200"] = df["Close"].ewm(span=200, adjust=False).mean()
below_ema200 = df["Close"].iloc[-1] < df["EMA200"].iloc[-1]
# 株たんの個別ページからPER・成長率を取得
stock_url = f"kabutan.jp/stock/?code={stock['code']}"
res = requests.get(stock_url)
s = BeautifulSoup(res.text, "html.parser")
try:
per = s.find(text="PER").find_next("td").text
growth = s.find(text="売上高増減率").find_next("td").text
except:
per, growth = "N/A", "N/A"
results.append({
"銘柄コード": stock['code'],
"企業名": stock['name'],
"200EMA以下": below_ema200,
"PER": per,
"売上成長率": growth
})
# 結果をCSV出力
df_result = pd.DataFrame(results)
df_result.to_csv("割安EMA200以下銘柄.csv", index=False, encoding="utf-8-sig")
print(df_result)
Open-source Skript
Ganz im Sinne von TradingView hat dieser Autor sein/ihr Script als Open-Source veröffentlicht. Auf diese Weise können nun auch andere Trader das Script rezensieren und die Funktionalität überprüfen. Vielen Dank an den Autor! Sie können das Script kostenlos verwenden, aber eine Wiederveröffentlichung des Codes unterliegt unseren Hausregeln.
Haftungsausschluss
Die Informationen und Veröffentlichungen sind nicht als Finanz-, Anlage-, Handels- oder andere Arten von Ratschlägen oder Empfehlungen gedacht, die von TradingView bereitgestellt oder gebilligt werden, und stellen diese nicht dar. Lesen Sie mehr in den Nutzungsbedingungen.
Open-source Skript
Ganz im Sinne von TradingView hat dieser Autor sein/ihr Script als Open-Source veröffentlicht. Auf diese Weise können nun auch andere Trader das Script rezensieren und die Funktionalität überprüfen. Vielen Dank an den Autor! Sie können das Script kostenlos verwenden, aber eine Wiederveröffentlichung des Codes unterliegt unseren Hausregeln.
Haftungsausschluss
Die Informationen und Veröffentlichungen sind nicht als Finanz-, Anlage-, Handels- oder andere Arten von Ratschlägen oder Empfehlungen gedacht, die von TradingView bereitgestellt oder gebilligt werden, und stellen diese nicht dar. Lesen Sie mehr in den Nutzungsbedingungen.
