Quick Start
Stock Data
from financelib import Stock
# Search for a stock by name or symbol
result = Stock.search_stock("Garanti")
print(result)
# Get real-time price with colored terminal output
Stock.get_live_stock_state("THYAO.IS")
# Get historical data as a DataFrame
stock = Stock("THYAO.IS")
df = stock.get_historical_data(period="3mo", interval="1d")
print(df.tail())
# Access common BIST stocks
print(Stock.COMMON_STOCKS)
Technical Analysis
from financelib import Stock
from financelib.trading.algo_trade import rsi, macd, sma, bollinger_bands
stock = Stock("THYAO.IS")
df = stock.get_historical_data(period="6mo")
close = df["Close"]
# Calculate indicators
rsi_values = rsi(close, period=14)
macd_line, signal_line = macd(close)
upper, middle, lower = bollinger_bands(close)
moving_avg = sma(close, period=50)
print(f"RSI: {rsi_values.iloc[-1]:.2f}")
print(f"MACD: {macd_line.iloc[-1]:.4f}")
News
from financelib import NewsAPIQuery
# Requires NEWS_API_APIKEY environment variable
query = NewsAPIQuery()
articles = query.search_articles("Bitcoin", sources_from_ids=["bbc-news"])
for article in articles:
print(article["title"])
Database Storage
from financelib.database.sqlite import SQLite
from financelib.database.models import NewsModel
with SQLite("my_data") as db:
article = NewsModel(
title="BIST Rallies",
content="Turkish stocks surged today...",
source="Bloomberg",
)
db.insert_article(article)
results = db.fetchall("SELECT * FROM news")
print(results)
import logging
from financelib import setup_logging
# Enable debug logging
setup_logging(level=logging.DEBUG)