package_2
sayou-stock
Sayou Stock Package for Financial Data from SEC, FnGuide, Naver, OpenDART, Yahoo, Korean Investment Securities
sayou-stock
v0.2.12
Sayou Stock Package for Financial Data from SEC, FnGuide, Naver, OpenDART, Yahoo, Korean Investment Securities
Sayou Stock
📦 Installation
sayou-stock is automatically installed when you install any Sayou library.
pip install sayou-stock
🔑 Key Components
EDGARCrawler: Retrieves10-K, 10-Q, 8-K, 13F, DEF 14Adocuments usingSEC EDGARAPI.FnGuideCrawler: Crawls Company Information & Financial Statements fromFnGuide.NaverCrawler: Retrieves Market News usingNaverAPI and Crawls Market Data fromNaver.OpenDartCrawler: Retrieves Company Information & Financial Statements usingOpenDartAPI.YahooCrawler: Retrieves Company Information & Market Data usingYahoo FinanceAPI.KisratingCrawler: Crawls statistics spread fromKisrating.
🤝 Usage Examples
Retrieve 10-K document from SEC EDGAR
from sayou.stock.edgar import EDGARCrawler
user_agent = "YOUR_NAME YOUR_EMAIL"
crawler = EDGARCrawler(user_agent=user_agent)
ticker = "AAPL"
# Retrieve CIK by Ticker
cik = crawler.fetch_cik_by_ticker(ticker)
# EDGAR 10-K Annual Report
filings = crawler.fetch_filings(cik, doc_type="10-K", count=1)
data = crawler.extract_10k(cik, filings[0].document_url, filings[0].accession_number)
# EDGAR 10-Q Quarterly Report
filings = crawler.fetch_filings(cik, doc_type="10-Q", count=1)
data = crawler.extract_10q(cik, filings[0].document_url, filings[0].accession_number)
# EDGAR 8-K Current Report
filings = crawler.fetch_filings(cik, doc_type="8-K", count=1)
data = crawler.extract_8k(cik, filings[0].document_url, filings[0].accession_number)
# EDGAR 13F Institutional Holdings
filings = crawler.fetch_filings(cik, doc_type="13F", count=1)
data = crawler.extract_13f(cik, filings[0].document_url, filings[0].accession_number)
# EDGAR DEF 14A Proxy Statement
filings = crawler.fetch_filings(cik, doc_type="DEF 14A", count=1)
data = crawler.extract_def14a(cik, filings[0].document_url, filings[0].accession_number)
Retrieve Company Information from FnGuide
from sayou.stock.fnguide import FnGuideCrawler
stock = "005930"
crawler = FnGuideCrawler()
# Company Finance
data = crawler.finance(stock)
print(data)
# Company Information
data = crawler.company(stock)
print(data)
# Company Finance Ratio
data = crawler.finance_ratio(stock)
print(data)
# Company Investment
data = crawler.invest(stock)
print(data)
# Company Consensus
data = crawler.consensus(stock)
print(data)
Retrieve Company News from Naver News
from sayou.stock.naver import NaverCrawler
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
crawler = NaverCrawler(client_id, client_secret)
# Naver Category News
articles = crawler.category_news()
print(articles)
# Naver company's News
articles = crawler.news(query="삼성전자", max_articles=10)
print(articles)
Retrieve Company Information from OpenDart
from sayou.stock.opendart import OpenDartCrawler
DART_API_KEY = "YOUR_DART_API_KEY"
stock = "005930"
crawler = OpenDartCrawler(api_key=DART_API_KEY)
# Search corp_code from Company Name or Stock Code
corp_code = crawler.fetch_corp_code(stock)
print(corp_code)
# Single Company's Main Accounts
api_type = "단일회사 주요계정"
last_year = 2024
data = crawler.finance(corp_code, last_year, api_type=api_type)
status = data.get("status", "")
list = data.get("list", [])
if status == "000" and len(list) > 0:
print(f"\n{api_type} {last_year}년 ({corp_name}, {corp_code})")
df = pd.DataFrame(list)
print(df)
# Multiple Companies' Main Accounts
api_type = "다중회사 주요계정"
data = crawler.finance(corp_code, last_year, api_type=api_type)
status = data.get("status", "")
list = data.get("list", [])
if status == "000" and len(list) > 0:
print(f"\n{api_type} {last_year}년 ({corp_name}, {corp_code})")
df = pd.DataFrame(list)
print(df)
# Single Company's Total Financial Statements (Linked)
api_type = "단일회사 전체 재무제표"
data = crawler.finance(corp_code, last_year, api_type=api_type)
status = data.get("status", "")
list = data.get("list", [])
if status == "000" and len(list) > 0:
print(f"\n{api_type} {last_year}년 ({corp_name}, {corp_code})")
df = pd.DataFrame(list)
print(df)
Retrieve Company Information from Yahoo Finance
from sayou.stock.yahoo import YahooCrawler
ticker = "AAPL"
crawler = YahooCrawler()
# Company Calendar
data = crawler.calendar(ticker)
print(data)
# Earning Estimate
data = crawler.earnings_estimate(ticker)
print(data)
# Revenue Estimate
data = crawler.revenue_estimate(ticker)
print(data)
# Earnings History
data = crawler.earnings_history(ticker)
print(data)
Retrieve statistics spread from Kisrating
from sayou.stock.kisrating import KisratingCrawler
crawler = KisratingCrawler()
# Statistics Spread
data = crawler.statistics()
print("\nYield")
print(data.yield_df)
print("\nSpread")
print(data.spread_df)
📜 License
Apache 2.0 License © 2025 Sayouzone
Plugin List
| Plugin | Example | Description |
|---|---|---|
SEC EDGAR Crawler |
▶ | |
FnGuide Crawler |
▶ | |
Kisrating Crawler |
▶ | 한국신용평가 신용등급 조회 |
Koreainvestment Crawler |
▶ | 한국투자증권 연동 |
Naver Crawler |
▶ | 네이버 뉴스 수집 및 네이버 증권 조회 |
OpenDart Crawler |
▶ | DART 오픈API |
Yahoo Crawler |
▶ | Yahoo Finance API |
Terminal
pip install sayou-stock
Library Metadata
Library ID
sayou-stock
Version
0.2.12
Python
>=3.9
Dependencies
4
Downloads
download
0
Created
2025-12-05
Updated
2026-03-18
Dependencies (4)
beautifulsoup4
>=4.14.0
lxml
>=6.0.0
pandas
>=2.3.3
xmltodict
>=1.0.0
#Python
#sayou-stock