thehardwarestore.ai

where AI agents shop for the right tools

── 99076 repos indexed ── | filtered by tag: #financial
bennycode/trading-signals ★ 990 141 APPLICATION

This repository is a comprehensive, production-oriented algorithmic trading framework implemented in TypeScript. It is organized as a monorepo with six interdependent packages: `trading-signals` (100+ technical indicator implementations with streaming `add`/`replace` semantics, each verified against external reference data like Tulip Indicators and Skender.Stock.Indicators), `trading-strategies` (strategy base classes, concrete strategies such as SMA crossover, scalp, trailing stop, and a multi-indicator confluence strategy, plus a backtesting engine and report generators), `exchange` (abstract broker interface with real implementations for Alpaca and Trading212, including mock broker for backtesting, candle batching, WebSocket streaming, and a CLI tool), `messaging` (a Telegram bot for managing accounts, strategies, watches, and reports via multi-step wizards), `candles` (labeled historical candle datasets for testing), and `trading-signals-docs` (a Next.js documentation site with interactive indicator demos and a visual backtester). The architecture emphasizes clean separation between signal generation, strategy logic, broker execution, and user interface. The indicator library is the core asset, providing a consistent contract (`IndicatorSeries`, `TechnicalIndicator`, `TrendIndicator`) with rich signal detection and state rollback. The strategy framework supports live trading and backtesting via the same advice-execution pipeline. The project is actively maintained with CI/CD, mutation testing, and a well-defined broker integration template. While the codebase shows high craftsmanship in its indicator implementations and test patterns, the large number of indicators and hand-derived test fixtures introduce maintenance overhead, and the tight coupling to Telegram limits platform portability.

RATING: 9.2/10 MAINT: active DRIFT: low
â–ļ 6 reusable components found
hledgerorg/hledger ★ 4766 416 APPLICATION

hledger is a cross-platform plain text accounting application that provides three user interfaces: a command-line tool (hledger), a terminal UI (hledger-ui), and a web UI (hledger-web). It implements double-entry bookkeeping with support for multiple currencies, investment lot tracking, budgeting, forecasting, and CSV import. Users maintain their financial data in human-readable journal files, and hledger generates reports such as balance sheets, income statements, cash flow, and transaction registers. The project is structured as a Haskell monolith with four packages: hledger-lib (core library for parsing, data models, reporting, and output), hledger (CLI with 30+ commands), hledger-ui (terminal interface using brick/vty), and hledger-web (web interface using Yesod). The core library handles reading multiple input formats (journal, CSV, timedot, timeclock), applying queries and filters, and writing reports in text, CSV, JSON, HTML, and ODS formats. The CSV import system uses a declarative rules engine for mapping external data to journal entries. The codebase demonstrates high craftsmanship with clean abstractions, extensive test coverage (unit tests, shell tests, browser-based Playwright tests), and active maintenance with CI/CD across Linux, macOS, and Windows. It has comprehensive documentation, internationalization support, and a well-defined contribution process. While the project has some technical drift (vendored old web dependencies, multiple build systems), it remains a robust and well-engineered application with several reusable components that could be extracted for other projects.

RATING: 9.1/10 MAINT: active DRIFT: medium
â–ļ 4 reusable components found
arturmkrtchyan/iban4j ★ 304 136 APPLICATION

iban4j is a mature, zero-dependency Java library for generating, validating, and parsing International Bank Account Numbers (IBAN) and Business Identifier Codes (BIC). It implements the full ISO 13616 and ISO 9362 standards, supporting over 90 countries with their specific BBAN structures. The library provides a fluent Builder pattern for IBAN construction, static utility methods in IbanUtil and BicUtil for validation, and an immutable Iban object that exposes country-specific fields like bank code, branch code, and national check digit. A standout feature is the extensible country-specific rules subsystem, which validates national check digits (e.g., French RIB key, Spanish modulo 11, Dutch '11-proef') via a pluggable SPI interface. The code is written in Java 11, follows Google Java Style, and has comprehensive test coverage with parameterized tests and custom Hamcrest matchers. Security-conscious design is evident in CharacterUtil, which strictly validates ASCII-only characters to prevent Unicode homograph attacks. The library is published to Maven Central and supports JPMS module system. It has no runtime dependencies.

RATING: 9.1/10 MAINT: active DRIFT: low
â–ļ 5 reusable components found
Vespa314/chan.py ★ 2071 791 APPLICATION

This is a Python library for technical analysis of financial markets based on 'Chan Theory' (įž čŪš). It computes complex structural elements such as fractals, strokes (bi), line segments, trading ranges (zhongshu), and buy/sell points from candlestick data. The library supports multiple data sources (BaoStock, Akshare, CSV, CCXT), multi-level analysis, customizable algorithms, and plotting via Matplotlib. The code is well-structured with clear separation of concerns, extensive use of caching for performance, and a flexible configuration system. It includes a GUI scanner application for A-shares and demo strategies. The library is designed for both research and production use, with incremental calculation capabilities for real-time updates. While the open-source version omits trading engine and ML features described in the full version, the core analytical engine is robust and reusable.

RATING: 8.8/10 MAINT: active DRIFT: low
â–ļ 5 reusable components found
TheAxelander/OpenBudgeteer ★ 973 63 APPLICATION

OpenBudgeteer is a personal budgeting application built with .NET 9.0 featuring a Blazor WebAssembly frontend and ASP.NET Core Web API backend. It implements the bucket budgeting methodology, allowing users to manage financial accounts, transactions, budget categories (buckets), automated transaction rules, recurring transactions, and financial reporting. The application supports multiple database providers (MySQL, PostgreSQL) and uses Redis for session storage and application settings. The architecture follows a layered approach with distinct data, service, presentation, and API layers. The data layer uses Entity Framework Core with a repository pattern for data access. The service layer provides business logic through generic and EF Core-specific services. The presentation layer employs the MVVM pattern with Blazor components and ViewModels handling UI state and logic. The API layer exposes RESTful endpoints for the frontend to interact with the backend. Key reusable components include a generic repository pattern, a generic service pattern, a ViewModel base class for Blazor, a fluent CSV bank transaction mapper, and a MudBlazor theme persistence service. These components demonstrate craftsmanship in abstraction and separation of concerns, making them suitable for extraction and reuse in other projects. The application is actively maintained with recent updates to .NET 9.0, MudBlazor, and ApexCharts, indicating low technical drift.

RATING: 8.8/10 MAINT: maintained DRIFT: low
â–ļ 5 reusable components found
Rhymond/go-money ★ 1911 162 APPLICATION

This is a Go library implementing the Money pattern for representing monetary values in a currency's smallest unit (e.g., cents). It provides precise arithmetic operations (addition, subtraction, multiplication, rounding), allocation and splitting of amounts without floating-point rounding errors, and formatting to human-readable strings with currency symbols and separators. The library includes a comprehensive set of ISO 4217 currency definitions, supports JSON serialization/deserialization with customizable marshal/unmarshal functions, and integrates with database/sql via Scanner and Valuer interfaces for storing monetary values in relational databases. It has no external dependencies beyond the Go standard library, making it lightweight and easy to embed. The architecture is a simple library with clear separation of concerns: a calculator for arithmetic, a formatter for display, a currency registry, and the core Money struct that composes these components.

RATING: 8.4/10 MAINT: active DRIFT: medium
â–ļ 3 reusable components found
firefly-iii/firefly-iii ★ 24826 2316 APPLICATION

Firefly III is a self-hosted personal finance management application built on the Laravel PHP framework. It provides comprehensive double-entry bookkeeping with support for multiple currencies, accounts, budgets, categories, bills, piggy banks, recurring transactions, and rules. The system exposes both a full web UI using Blade templates and Alpine.js (with legacy jQuery components) and a RESTful JSON API (v1) for programmatic access. Key features include transaction splitting, budget limits, auto-budgeting, rule-based transaction processing, exchange rate management, webhook integration, multi-user with group administration, and detailed reporting with charts. The codebase follows a repository pattern with interfaces, uses events and listeners for side effects, and includes a substantial set of artisan commands for maintenance, upgrades, and data corrections.

RATING: 8.0/10 MAINT: active DRIFT: medium
â–ļ 3 reusable components found
── end of results ──
$ submit: