zfin/src/root.zig

70 lines
3 KiB
Zig

//! zfin -- Zig Financial Data Library
//!
//! Fetches, caches, and analyzes US equity/ETF financial data from
//! multiple free-tier API providers (Twelve Data, Polygon, Finnhub,
//! Alpha Vantage). Includes Morningstar-style performance calculations.
// -- Data models --
pub const Date = @import("models/date.zig").Date;
pub const Candle = @import("models/candle.zig").Candle;
pub const Dividend = @import("models/dividend.zig").Dividend;
pub const DividendType = @import("models/dividend.zig").DividendType;
pub const Split = @import("models/split.zig").Split;
pub const OptionContract = @import("models/option.zig").OptionContract;
pub const OptionsChain = @import("models/option.zig").OptionsChain;
pub const ContractType = @import("models/option.zig").ContractType;
pub const EarningsEvent = @import("models/earnings.zig").EarningsEvent;
pub const ReportTime = @import("models/earnings.zig").ReportTime;
pub const EtfProfile = @import("models/etf_profile.zig").EtfProfile;
pub const Holding = @import("models/etf_profile.zig").Holding;
pub const SectorWeight = @import("models/etf_profile.zig").SectorWeight;
pub const TickerInfo = @import("models/ticker_info.zig").TickerInfo;
pub const SecurityType = @import("models/ticker_info.zig").SecurityType;
pub const Lot = @import("models/portfolio.zig").Lot;
pub const LotType = @import("models/portfolio.zig").LotType;
pub const Position = @import("models/portfolio.zig").Position;
pub const Portfolio = @import("models/portfolio.zig").Portfolio;
pub const Quote = @import("models/quote.zig").Quote;
// -- Infrastructure --
pub const Config = @import("config.zig").Config;
pub const RateLimiter = @import("net/rate_limiter.zig").RateLimiter;
pub const http = @import("net/http.zig");
// -- Cache --
pub const cache = @import("cache/store.zig");
// -- Analytics --
pub const performance = @import("analytics/performance.zig");
pub const risk = @import("analytics/risk.zig");
pub const indicators = @import("analytics/indicators.zig");
pub const analysis = @import("analytics/analysis.zig");
// -- Classification --
pub const classification = @import("models/classification.zig");
// -- Formatting (shared between CLI and TUI) --
pub const format = @import("format.zig");
// -- Service layer --
pub const DataService = @import("service.zig").DataService;
pub const DataError = @import("service.zig").DataError;
pub const DataSource = @import("service.zig").Source;
// -- Providers --
pub const Provider = @import("providers/provider.zig").Provider;
pub const TwelveData = @import("providers/twelvedata.zig").TwelveData;
pub const Polygon = @import("providers/polygon.zig").Polygon;
pub const Finnhub = @import("providers/finnhub.zig").Finnhub;
pub const Cboe = @import("providers/cboe.zig").Cboe;
pub const AlphaVantage = @import("providers/alphavantage.zig").AlphaVantage;
pub const OpenFigi = @import("providers/openfigi.zig");
// -- Re-export SRF for portfolio file loading --
pub const srf = @import("srf");
// -- Tests --
test {
const std = @import("std");
std.testing.refAllDecls(@This());
}