@GYLQ520: 股票、基金、加密资产、现金管理散落各个APP,想看整体资产得一个个打开再用表格手工汇总,费时又难看清全貌。 Wealthfolio,一款开源且注重隐私的个人财富管理工具,8600 Stars,桌面手机都能用。 统一管理各类资产组合,记录交…
摘要
Wealthfolio是一款开源且注重隐私的个人财富管理工具,支持本地数据存储,可统一管理股票、基金等多种资产并进行收益分析。
查看缓存全文
缓存时间: 2026/08/23 03:31
股票、基金、加密资产、现金管理散落各个APP,想看整体资产得一个个打开再用表格手工汇总,费时又难看清全貌。
Wealthfolio,一款开源且注重隐私的个人财富管理工具,8600 Stars,桌面手机都能用。
统一管理各类资产组合,记录交易、追踪净资产和日常开销,附带收益分析、基准对比和投资模拟功能。
最大亮点是本地优先,数据默认存在自己设备上,无需注册账号也不依赖云端。支持多账户、多币种、券商同步和插件扩展,玩法相当丰富。
传送门:https://github.com/wealthfolio/wealthfolio…
wealthfolio/wealthfolio
Source: https://github.com/wealthfolio/wealthfolio
Wealthfolio
The open-source, private portfolio tracker — investments, net worth, spending, and simulations.
Local-first: your data lives on your device.
Website
·
Discord
·
Twitter
·
Releases
⬇️ Download for macOS · Windows · Linux · 📱 iOS App · 🐳 Docker
Introduction
Wealthfolio is an open-source, private portfolio tracker — investments, net worth, spending, and simulations. All your data is stored locally on your device: no cloud database, no account required, free forever.
For automatic brokerage syncing (30+ institutions, read-only) and encrypted multi-device sync, there’s Wealthfolio Connect — an optional subscription that covers the real cost of the brokerage data connections. The app never requires it: manual tracking and CSV import are free, forever.
Visit the website at wealthfolio.app.

✨ Key Features
- 📊 Portfolio Tracking - Track your investments across multiple accounts and asset types
- 📈 Performance Analytics - True time-weighted and money-weighted returns, benchmark comparison, and historical analysis
- 💰 Activity Management - Import and manage all your trading activities
- 🎯 Goal Planning - Set and track financial goals with allocation management
- 🔒 Local Data - All data stored locally with no cloud dependencies
- 🔄 Optional Broker Sync - Auto-sync 30+ brokerages with Wealthfolio Connect (read-only, entirely optional)
- 🧩 Extensible - Powerful addon system for custom functionality
- 🌍 Multi-Currency - Support for multiple currencies with exchange rate management
- 📱 Cross-Platform - Desktop (Windows, macOS, Linux), iOS, and self-hosted Docker/web
Wealthfolio 3.7 requires macOS 12 or newer and iOS/iPadOS 16 or newer. macOS 12 installations should apply current macOS and Safari updates so the system WKWebView meets the Safari 16 browser floor. Windows uses the evergreen WebView2 runtime; Linux and self-hosted installations should keep WebKitGTK or their browser updated.
🧩 Addon System
Wealthfolio features a powerful addon system that allows developers to extend functionality:
- 🔌 Easy Development - TypeScript SDK with full type safety and hot reload
- 🔒 Secure - Comprehensive permission system with user consent
- ⚡ High Performance - Optimized for speed with minimal overhead
- 🎨 UI Integration - Add custom pages, navigation items, and components
- 📡 Real-time Events - Listen to portfolio updates, market sync, and user actions
- 🗄️ Full Data Access - Access to accounts, holdings, activities, and market data
- 🔐 Secrets Management - Secure storage for API keys and sensitive data
- 📦 Private Assets - Package images, fonts, media, configuration, and Wasm for the isolated addon sandbox
Get started building addons: See the Addon Documentation Hub
Documentation for all Activity types, including the required form fields, is available in docs/activities/activity-types.md.
Roadmap
See ROADMAP.md.
📖 Documentation
Core Application
- Activity Types - Complete guide to all supported activity types and their required fields
- Roadmap - Future plans and development roadmap
Architecture
- Adapter System - Compile-time environment detection for Desktop/Web builds
Addon Development
- Addon Documentation Hub - Main entry point for addon development
- Getting Started - Guide to get started with addon development
- API Reference - Complete API documentation with examples
- Architecture - Design patterns and architecture guide
- v3.6 to v3.7 Migration - Packaged assets and compatibility notes
Quick Links
- 💡 Official Addons - Browse maintained addon examples in the official addon repository
- 🧩 Community Addons - Browse addons shared by the community in the community addon directory
- 🛠️ Development Tools - CLI tools for addon development
Getting Started
Prerequisites
Ensure you have the following installed on your machine:
Building from Source
-
Clone the repository:
git clone https://github.com/wealthfolio/wealthfolio.git cd wealthfolio -
Install dependencies using pnpm:
pnpm install -
Setup environment configuration:
Copy the environment template and configure it for your setup:
cp .env.example .envUpdate the
.envfile with your database path and other configuration as needed:# Database location DATABASE_URL=../db/wealthfolio.db -
Run in Development Mode:
Build and run the desktop application using Tauri:
pnpm tauri dev
Addon Development Mode
Addon hot reload servers now start only when you explicitly opt in.
For desktop development with Tauri:
VITE_ENABLE_ADDON_DEV_MODE=true pnpm tauri dev
For browser-only development (Vite only, no Tauri):
pnpm dev:addons
You can also set VITE_ENABLE_ADDON_DEV_MODE=true in your .env file to
persist the setting.
- Build for Production:
Build the application for production:
pnpm tauri build
Web Mode (Browser + REST API server)
Run the web UI with a local Axum server with one command.
Quick Start
-
Setup environment (optional but recommended):
Copy the example environment file and customize it for your setup:
cp .env.web.example .env.webEdit
.env.webto configure database path, ports, and other settings as needed. -
Start both backend and Vite dev server:
pnpm run dev:webThe Vite dev server runs at
http://localhost:1420and proxies API calls to the Axum backend server.
Configuration
All configuration is done via environment variables in .env.web.
Server Configuration (WF_* variables):
WF_LISTEN_ADDR- Server bind address (default:0.0.0.0:8088)WF_DB_PATH- SQLite database path or directory (default:./db/app.db)- If a directory is provided,
app.dbwill be used inside it
- If a directory is provided,
WF_CORS_ALLOW_ORIGINS- Comma-separated list of allowed CORS origins (default:*). Required when auth is enabled — wildcard*is rejected.- Example:
https://wealthfolio.example.com
- Example:
WF_REQUEST_TIMEOUT_MS- Request timeout in milliseconds (default:30000)WF_STATIC_DIR- Directory for serving static frontend assets (default:dist)WF_SECRET_KEY- Required 32-byte key used for secrets encryption and JWT signing- Generate with:
openssl rand -base64 32
- Generate with:
WF_AUTH_PASSWORD_HASH- Argon2id PHC string enabling password-only authentication for web modeWF_AUTH_TOKEN_TTL_MINUTES- Optional JWT access token expiry in minutes (default60)WF_AUTH_REQUIRED- Set tofalseto allow starting on non-loopback addresses without authentication (e.g. when a reverse proxy handles auth)- OIDC / SSO (optional) - sign in via any OpenID Connect provider (Authentik,
PocketID, Authelia, Keycloak, …). Works alongside or instead of
WF_AUTH_PASSWORD_HASH; a successful SSO login mints the same session cookie. Enabled when bothWF_OIDC_ISSUER_URLandWF_OIDC_CLIENT_IDare set.WF_OIDC_ISSUER_URL- provider base URL (discovery hits<issuer>/.well-known/openid-configuration)WF_OIDC_CLIENT_ID- client id registered with the IdPWF_OIDC_CLIENT_SECRET- Optional client secret (PKCE is always used)WF_OIDC_REDIRECT_URL- Required when OIDC is enabled; must be registered in the IdP, e.g.https://your.host/api/v1/auth/oidc/callbackWF_OIDC_SCOPES- Optional space-separated scopes (defaultopenid email profile)WF_OIDC_ALLOWED_EMAILS/WF_OIDC_ALLOWED_SUBS- comma-separated allowlists matched against the ID token’semail/subclaims. With neither set, the server refuses to start unlessWF_OIDC_ALLOW_ANY=trueis also set — a missing allowlist must never silently grant every IdP user access. Anemailis only honored when the IdP assertsemail_verified=true;WF_OIDC_ALLOWED_SUBSis the stronger control (stable, issuer-scoped) and is recommended on shared/multi-tenant IdPs.WF_OIDC_ALLOW_ANY- Optional, defaultfalse. Set totrueto allow any user the IdP authenticates when no allowlist is configured. Only safe on a dedicated single-user IdP; on a shared/multi-tenant IdP this grants everyone access. A warning is logged at startup when enabled.WF_OIDC_POST_LOGOUT_REDIRECT_URL- Optional. When the IdP advertises anend_session_endpoint, sign-out also ends the IdP session (RP-Initiated Logout); otherwise logout is local-only. Set this to land back on the app afterward — it must be registered with the IdP (e.g. Keycloak’s “Valid post logout redirect URIs”). If unset, the IdP shows its own logged-out page.WF_OIDC_RP_LOGOUT- Optional, defaulttrue. Set tofalseto force local-only logout even when the IdP supports RP-Initiated Logout.
WF_COOKIE_SECURE- Controls theSecureattribute on session cookies (default:auto)auto- setSecureonly whenX-Forwarded-Proto: httpsis present (recommended for most reverse-proxy setups)true- always setSecure(use when TLS is guaranteed but the header is absent)false- never setSecure(plain HTTP without a reverse proxy)
WF_SECRET_FILE- Optional path to secrets storage file (default:<data-root>/secrets.json)WF_ADDONS_DIR- Optional path to addons directory (default: derived from database path)
Vite Configuration:
VITE_API_TARGET- Backend API URL for Vite proxy (default:http://127.0.0.1:8088)
Authentication (Web Mode)
-
Set
WF_AUTH_PASSWORD_HASHto an Argon2id PHC string to require a password before accessing the Web App.You can generate the hash with online tools like argon2.online or the CLI (
argon2-utilspackage):printf 'your-password' | argon2 yoursalt16chars! -id -eTips:
- The first argument is the salt (use 16+ characters); the password is read from stdin.
- Use
printfinstead ofecho -nto avoid hidden newline issues. - For Docker Compose
.env/--env-file, single-quote the hash or double every$($$argon2id$$...).
Copy the full output (starting with
$argon2id$...) into.env.web.Dollar-sign (
$) escaping cheat-sheet — Argon2 hashes contain$characters that shells and Compose interpret as variable references:Context Syntax Notes .env.web/ app-loaded dotenvWF_AUTH_PASSWORD_HASH=$argon2id$...Loaded by the app; no Compose interpolation Docker Compose .env/--env-fileWF_AUTH_PASSWORD_HASH='$argon2id$...'Single quotes prevent Compose interpolation Docker Compose .env/--env-fileWF_AUTH_PASSWORD_HASH=$$argon2id$$...Alternative: double every $Docker Compose YAML inline HASH: '$$argon2id$$v=19$$...'Double every $to escape Compose interpolationdocker run(single quotes)-e HASH='$argon2id$...'Single quotes prevent shell expansion docker run(double quotes)-e HASH="\$argon2id\$..."Backslash-escape each $ -
Sessions are cookie-based (
HttpOnly,SameSite=Lax,Path=/api). The login endpoint sets the session cookie automatically — no token is exposed to client-side JavaScript. Sessions last 60 minutes by default (seeWF_AUTH_TOKEN_TTL_MINUTES). -
Reverse proxy (HTTPS): If your reverse proxy terminates TLS, ensure it forwards
X-Forwarded-Proto: httpsso the server sets theSecurecookie attribute correctly. Alternatively, setWF_COOKIE_SECURE=trueto always setSecure. SeeWF_COOKIE_SECUREabove.
Notes
- The server logs the effective database path on startup
- Environment variables from
.env.webare loaded automatically by thedev:webscript - Stop with Ctrl+C to shut down both processes gracefully
Server Only
Run just the HTTP server without the Vite dev server (from repo root):
cargo run --manifest-path apps/server/Cargo.toml
The server accepts the same WF_* environment variables as documented in the
Web Mode Configuration section above. You can set them inline
or via .env.web:
WF_LISTEN_ADDR=127.0.0.1:8088 WF_DB_PATH=./db/app.db cargo run --manifest-path apps/server/Cargo.toml
See Web Mode Configuration for a complete list of supported environment variables.
Docker
You can either pull the official Docker image or build it yourself locally.
Using the Pre-built Image
The latest server build is published to Docker Hub.
docker pull wealthfolio/wealthfolio:latest
After pulling, use wealthfolio/wealthfolio:latest in the run commands below.
If you build the image locally, swap the image name back to wealthfolio.
Legacy image: the same build is also mirrored to
afadil/wealthfolioso existingcompose.ymlfiles keep working. New deployments should preferwealthfolio/wealthfolio.
Building the Image
Build the Docker image directly from source (no pre-build required):
docker build -t wealthfolio .
The build process:
- Builds frontend assets from source (
pnpm install+pnpm vite build) - Compiles Rust backend from source (
cargo build --release) - Creates minimal Alpine-based image with only the runtime artifacts
The final image includes:
- Compiled frontend assets in
/app/dist wealthfolio-serverbinary at/usr/local/bin/wealthfolio-server- Alpine Linux base (small footprint)
Configuration
You can configure the container using either:
- Environment variables (inline with
-eflag) - Environment file (using
--env-fileflag)
Option 1: Create a Docker Compose environment file (recommended for production):
SECRET=$(openssl rand -base64 32)
HASH=$(printf 'your-password' | argon2 yoursalt16chars! -id -e)
cat > .env.docker << EOF
WF_LISTEN_ADDR=0.0.0.0:8088
WF_DB_PATH=/data/wealthfolio.db
WF_SECRET_KEY='${SECRET}'
WF_AUTH_PASSWORD_HASH='${HASH}'
WF_CORS_ALLOW_ORIGINS=http://localhost:8088
WF_REQUEST_TIMEOUT_MS=30000
WF_STATIC_DIR=dist
EOF
Set WF_CORS_ALLOW_ORIGINS to the exact URL you will use in your browser, such
as http://192.168.1.10:8088 or https://wealthfolio.example.com.
Option 2: Use inline environment variables (simpler for testing):
See examples below for inline configuration.
Running the Container
All examples below use the published image (wealthfolio/wealthfolio:latest).
If you built locally, substitute your local tag (e.g., wealthfolio).
Docker Compose (recommended):
docker compose --env-file .env.docker up -d
This publishes the app at http://localhost:8088 by default. Set WF_PORT to
change the host port:
WF_PORT=8090 docker compose --env-file .env.docker up -d
Docker Compose behind a reverse proxy:
docker compose --env-file .env.docker -f compose.yml -f compose.proxy.yml up -d
Use this when the proxy runs on the same Docker network and forwards traffic to
http://wealthfolio:8088.
Using Docker CLI environment file:
Docker CLI --env-file keeps $ characters as-is, so use raw values without
Compose escaping:
SECRET=$(openssl rand -base64 32)
HASH=$(printf 'your-password' | argon2 yoursalt16chars! -id -e)
cat > .env.docker-run << EOF
WF_LISTEN_ADDR=0.0.0.0:8088
WF_DB_PATH=/data/wealthfolio.db
WF_SECRET_KEY=${SECRET}
WF_AUTH_PASSWORD_HASH=${HASH}
WF_CORS_ALLOW_ORIGINS=http://localhost:8088
WF_REQUEST_TIMEOUT_MS=30000
WF_STATIC_DIR=dist
EOF
docker run --rm -d \
--name wealthfolio \
--env-file .env.docker-run \
-p 8088:8088 \
-v wealthfolio-data:/data \
wealthfolio/wealthfolio:latest
Basic usage (inline environment variables, testing only):
docker run --rm -d \
--name wealthfolio \
-e WF_LISTEN_ADDR=0.0.0.0:8088 \
-e WF_DB_PATH=/data/wealthfolio.db \
-e WF_SECRET_KEY="$(openssl rand -base64 32)" \
-e WF_AUTH_REQUIRED=false \
-p 8088:8088 \
-v wealthfolio-data:/data \
wealthfolio/wealthfolio:latest
Development mode (with CORS for local Vite dev server, no built-in auth):
docker run --rm -it \
--name wealthfolio \
-e WF_LISTEN_ADDR=0.0.0.0:8088 \
-e WF_DB_PATH=/data/wealthfolio.db \
-e WF_CORS_ALLOW_ORIGINS=http://localhost:1420 \
-e WF_SECRET_KEY="$(openssl rand -base64 32)" \
-e WF_AUTH_REQUIRED=false \
-p 8088:8088 \
-v wealthfolio-data:/data \
wealthfolio/wealthfolio:latest
Production with encryption (recommended):
docker run --rm -d \
--name wealthfolio \
-e WF_LISTEN_ADDR=0.0.0.0:8088 \
-e WF_DB_PATH=/data/wealthfolio.db \
-e WF_SECRET_KEY="$(openssl rand -base64 32)" \
-e WF_AUTH_PASSWORD_HASH="$(printf 'your-password' | argon2 yoursalt16chars! -id -e)" \
-e WF_CORS_ALLOW_ORIGINS=https://wealthfolio.example.com \
-p 8088:8088 \
-v wealthfolio-data:/data \
wealthfolio/wealthfolio:latest
Environment Variables
The container supports all WF_* environment variables documented in the
Web Mode Configuration section. Key variables:
WF_LISTEN_ADDR- Bind address (must use0.0.0.0:PORTfor Docker, not127.0.0.1)WF_DB_PATH- Database path (typically/data/wealthfolio.db)WF_CORS_ALLOW_ORIGINS- CORS origins (set for dev/frontend access)WF_SECRET_KEY- Required 32-byte key used for secrets encryption and JWT signing
Volumes
/data- Persistent storage for database and secrets- Database:
/data/wealthfolio.db - Secrets:
/data/secrets.json(encrypted withWF_SECRET_KEY)
- Database:
Ports
8088- HTTP server (serves both API and static frontend)
Access the application at http://localhost:8088 after starting the container.
Important: The server must bind to 0.0.0.0 (all interfaces) inside the
container to be accessible from your host machine. Binding to 127.0.0.1 will
make the app only accessible from within the container.
Development with DevContainer
For a consistent development environment across all platforms, you can use the provided DevContainer configuration. This method requires fewer manual setup steps and provides an isolated environment with all necessary dependencies.
Prerequisites
- Docker
- Visual Studio Code
- Remote - Containers VS Code extension
Features
- Pre-configured Tauri development environment
- X11 virtual display with VNC access (port 5900)
- Complete Rust development setup
- GPU support (via Docker’s –gpus=all flag)
- Persistent data and build caches
- Essential VS Code extensions pre-installed
Starting Development with DevContainer
-
Clone the repository (if you haven’t already):
git clone https://github.com/wealthfolio/wealthfolio.git cd wealthfolio -
Open in VS Code:
- Open VS Code
- Go to File > Open Folder
- Select the wealthfolio directory
-
Launch DevContainer:
- Press
F1orCtrl+Shift+P - Type “Remote-Containers: Reopen in Container”
- Press Enter
- Press
-
Wait for container build:
- VS Code will build and configure the development container
- This may take a few minutes on first run
-
Start Development:
- Once the container is ready, you can start development
- All necessary tools and dependencies will be available
Addon Development
Wealthfolio supports a powerful addon ecosystem that allows developers to extend functionality with custom features.
Quick Start with Addons
-
Create a new addon:
npx @wealthfolio/addon-dev-tools create my-addon cd my-addon npm install -
Start development server:
npm run dev:server -
Start Wealthfolio in addon development mode (in another terminal):
VITE_ENABLE_ADDON_DEV_MODE=true pnpm tauri dev
Your addon will be automatically discovered and loaded with hot reload support!
Addon Features
- 🎨 UI Integration: Add custom pages and navigation items
- 📊 Data Access: Full access to portfolio, accounts, and market data
- 📡 Real-time Events: React to portfolio updates and user actions
- 🔐 Secure Storage: Store API keys and sensitive data securely
- ⚡ Hot Reload: Seamless development experience
- 🔒 Permission System: Transparent security with user consent
- 📦 Private Assets: Sandbox-safe packaged images, fonts, media, and Wasm
Official Addons
Check out the official addon repository for maintained addon examples including:
- Goal Progress Tracker: Visual goal tracking with calendar like interface
- Investment Fees Tracker: Track and analyze investment fees
- Swingfolio: Track swing trading performance and open positions
Resources
- Getting Started Guide - Everything you need to know to start building addons
- API Reference - Full API documentation
- Architecture Guide - Design patterns and best practices
- v3.6 to v3.7 Migration Guide - Asset packaging and compatibility
Technologies Used
Frontend
- React: JavaScript library for building user interfaces.
- React Router: Declarative routing for React.
- Tailwind CSS: Utility-first CSS framework for styling.
- Radix UI/Shadcn: Accessible UI components.
- Recharts: Charting library built with React.
- React Query: Data-fetching library for React.
- Zod: TypeScript-first schema declaration and validation library.
Backend
- Tauri: Framework for building tiny, secure, and fast desktop applications.
- Rust: Systems programming language for core backend functionality.
- SQLite: Embedded database for local data storage.
- Diesel: Safe, extensible ORM and query builder for Rust.
Addon System
- @wealthfolio/addon-sdk: TypeScript SDK for addon development with full type safety.
- @wealthfolio/addon-dev-tools: CLI tools and development server for hot reload.
- @wealthfolio/ui: Shared UI component library for consistent styling.
Development Tools
- Vite: Next-generation frontend tooling.
- TypeScript: Typed superset of JavaScript.
- ESLint: Pluggable linting utility for JavaScript and JSX.
- Prettier: Code formatter.
- pnpm: Fast, disk space efficient package manager.
- Turborepo: High-performance build system for JavaScript and TypeScript codebases.
Folder Structure
wealthfolio/
├── apps/ # Application packages
│ ├── frontend/ # React frontend application
│ │ ├── src/ # Source code
│ │ │ ├── adapters/ # Environment adapters (Tauri/Web)
│ │ │ ├── addons/ # Addon system runtime
│ │ │ ├── components/ # React components
│ │ │ ├── features/ # Feature modules (self-contained)
│ │ │ ├── pages/ # Application pages and routes
│ │ │ ├── hooks/ # Custom React hooks
│ │ │ └── lib/ # Utility libraries and helpers
│ │ ├── public/ # Static assets
│ │ ├── index.html # HTML entry point
│ │ └── vite.config.ts # Vite build config
│ ├── tauri/ # Tauri desktop/mobile app (Rust IPC commands)
│ └── server/ # Axum HTTP server for web mode
├── crates/ # Rust crates (shared backend logic)
│ ├── core/ # Core business logic, services, models
│ ├── storage-sqlite/ # SQLite storage layer (Diesel ORM)
│ ├── market-data/ # Market data providers
│ ├── connect/ # External service integrations
│ └── device-sync/ # Device sync functionality
├── packages/ # Shared TypeScript packages
│ ├── addon-sdk/ # Addon SDK for developers
│ ├── addon-dev-tools/ # CLI and dev server for addons
│ └── ui/ # Shared UI components (@wealthfolio/ui)
├── docs/ # Documentation
│ ├── addons/ # Addon development docs
│ ├── activities/ # Activity types docs
│ └── architecture/ # Architecture docs
├── e2e/ # End-to-end tests
├── scripts/ # Build and dev scripts
├── Cargo.toml # Rust workspace config
├── package.json # Node.js dependencies
├── pnpm-workspace.yaml # pnpm workspace config
└── tsconfig.json # TypeScript config
Official and community addon source lives in the separate wealthfolio-addons repository.
Security & Data Storage
Local Data Storage
All your financial data is stored locally using SQLite database with no cloud dependencies:
- Portfolio holdings and performance data
- Trading activities and transaction history
- Account information and settings
- Goals and contribution limits
API Keys & Secrets
API credentials are securely stored using the operating system keyring through
the keyring crate:
- Core App: Use
set_secretandget_secretcommands for external services - Addons: Use the Secrets API (
ctx.api.secrets) for addon-specific sensitive data - No Disk Storage: Keys never written to disk or configuration files
Permission System
Addons operate under a comprehensive permission system:
- Automatic code analysis during installation
- User consent required for data access
- Risk-based security warnings
- Transparent permission declarations
Contributing
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature-branch). - Open a pull request.
License
This project is licensed under the AGPL-3.0 license. See the LICENSE file for
details.
Brand assets in assets/brand/ are trademarks; see
TRADEMARKS.md.
Wealthfolio and the Wealthfolio logo are trademarks of Teymz Inc. The code is licensed under AGPL-3.0; trademarks are not granted under that license.
🌟 Star History
Enjoy managing your wealth with Wealthfolio! 🚀
相似文章
@BTCqzy1: 做股票和全球资产研究,最难的是信息整合。 美股、A 股、港股、商品、能源、加密货币,表面上是不同市场,背后却都被同一套全球宏观、地缘政治、政策变化和风险事件牵动。 但是这些信号全都分散在不同网站里:OpenSky、交易所、新闻源、政府数据…
World Monitor 是一个开源全球情报仪表盘,整合65+外部数据源、500+新闻源、29个交易所,提供实时全球风险可视化和AI生成简报。
@yanliudreamer: 给大家推荐一个网站,@QwQiao大佬做的专为长期投资者设计的研究工具 https://mungermode.com 它会跟踪你关注的股票相关的每份SEC文件,财报电话会议,播客,博客,内部交易,以及超级投资者的动态。 然后提取最重要的洞…
推荐一个专为长期投资者设计的研究工具网站,它跟踪股票相关文件并提取重要洞见,同时构建对立观点以深化分析。
@geekbb: 开源 A 股量化工作台,用 TickFlow 的数据,做选股、实时监控、回测三件事。内置 20 个选股策略(Polars 向量化跑全 A 股秒级出结果),支持不写代码的自定义信号、AI 帮你写策略、多条件监控规则+飞书推送。 https:…
开源A股量化工作台,基于TickFlow数据实现选股、实时监控和回测三大功能,内置20个Polars向量化策略,支持AI写策略及飞书推送。
@YaelC_03: 研究个股用过最好用的免费工具是 @stock_analysisx ,中文区仍然没什么人提 这是专门用来研究单只股票的网站。财报、分析师预测、业务数据都整理在一起,UI 看着也比较舒服 @finviz_com 强在筛股,设好条件,从几千只美…
推荐两个免费股票研究工具 Stock Analysis 和 Finviz,介绍如何结合使用来筛选和分析美股个股。
@BTCqzy1: 挖到一个 A 股开源投研神器 —— TradingAgents-Astock 专门为 A 股深度定制,数据源完全免费,mootdx + 东财 + 新浪 + 腾讯财经 + 同花顺等直连,无需 API Key,龙虎榜、解禁、资金流一应俱全。 …
TradingAgents-Astock 是一个基于TradingAgents的A股特化开源投研工具,内置7个Agent分析师,支持免费数据源和多种大模型,提供Web UI和CLI。
