Skip to content

Changelog

v0.3.0 (2026-03-23)

Added

  • Quantitative Finance module (financelib.quant) with 28 functions:
  • Return analysis: simple, log, cumulative, annualized, rolling returns
  • Risk metrics: Sharpe, Sortino, Calmar, VaR, CVaR, beta, alpha, Information Ratio, Treynor
  • Portfolio: mean-variance optimization, minimum variance weights, covariance/correlation
  • Statistics: skewness, kurtosis, Jarque-Bera test, Hurst exponent, half-life, z-score, autocorrelation
  • PostgreSQL database backend (financelib.database.postgres) with full parity to SQLite
  • Trade history table and indicator snapshot table
  • DATABASE_URL environment variable support
  • Context manager support
  • Quant documentation and API reference pages
  • PostgreSQL documentation in database user guide
  • 40+ new tests for quant module and PostgreSQL

Changed

  • Version bumped to 0.3.0
  • Database __init__.py exports SQLite, models, and available_databases()
  • pyproject.toml updated with psycopg2-binary in [db] extras

v0.2.0 (2026-03-23)

Added

  • Centralized logging system with setup_logging() and per-module loggers
  • Custom exception hierarchy (FinanceLibError, APIError, DataFetchError, etc.)
  • Configuration dataclass (FinanceLibConfig) replacing mutable globals
  • Utility functions: format_currency(), format_percentage(), validate_stock_symbol()
  • retry and rate_limiter decorators
  • Stock.get_historical_data() method for fetching OHLCV DataFrames
  • News.to_dict() method for serialization
  • BISTTradeBotv1 full implementation with paper trading, analysis, and scanning
  • CryptorTradeBot.backtest() method for strategy backtesting
  • Paper trading mode for both bots
  • Trade history recording
  • Proper StockDataModel dataclass for database storage
  • Complete stock data table schema and parameterized queries
  • Database context manager support (with SQLite(...) as db:)
  • MkDocs Material documentation site
  • 80+ unit tests with pytest
  • Comprehensive type hints across all modules
  • Google-style docstrings on all public APIs

Fixed

  • All broken imports (relative import paths)
  • Infinite recursion in PricePredictor (duplicate class names)
  • news.py:100 tuple indexing bug ([0,3] -> [0:3])
  • Duplicate display_stock_info method in Stock class
  • e.with_traceback() called without argument
  • SQL injection vulnerability in make_insert_article_query()
  • Frozen date values in utils.py (now functions)
  • Selenium top-level import crash (now lazy)
  • TWITTTER_API_KEY typo (3 T's)
  • NewsAPIQuery constructor parameter mismatch
  • Test method naming (news_api_test -> test_news_api)
  • setup.py / setup.cfg misconfigured package discovery
  • Invalid [bot] extras in requirements-bot.txt
  • pandas.Series.mad() deprecation in CCI indicator

Changed

  • Migrated to modern pyproject.toml configuration
  • Python requirement bumped to 3.10+
  • Indicators now use reusable functions from algo_trade (no duplication in cryptor)
  • sabah_com.py properly parses JSON instead of string splitting
  • Database queries use parameterized ? placeholders

v0.1.0dev (2026-01-22)

  • Initial development release
  • Stock tracking with Yahoo Finance
  • News aggregation (NewsAPI, Bloomberg)
  • KAP PDF downloader
  • 11 technical indicators
  • Crypto trading bot prototype