Avanza Investment Tracker
Parse transaction CSVs and compute portfolio performance metrics.
Quick Start
Run from skill root with data paths pointing to your workspace:
CODEBLOCK0
Data Storage Pattern
User data lives OUTSIDE the skill directory. Recommended structure:
CODEBLOCK1
The skill provides logic. Your data stays private and portable.
CLI Reference
| Command | Description |
|---|
| INLINECODE0 | Import transactions from CSV |
| INLINECODE1 |
Show performance stats |
|
python scripts/cli.py stats --update-prices auto | Update prices, then show stats |
|
python scripts/cli.py accounts | Show account summaries |
|
python scripts/cli.py status | Check system status |
|
python scripts/cli.py reset --confirm | Clear database (DESTRUCTIVE) |
All commands accept:
- -
--database PATH (default: data/asset_data.db) - INLINECODE8 (default:
data/special_cases.json)
Skill Contents
CODEBLOCK2
Dependencies
- -
requests - For fetching stock prices - Standard library:
sqlite3, csv, json, datetime, INLINECODE15
Install: INLINECODE16
Special Cases
Corporate actions (splits, spin-offs) may need manual rules:
- 1. Copy template: INLINECODE17
- Edit with your rules
- Import with INLINECODE18
See Also
Account Filtering
By default, stats show all accounts. Use settings default-accounts to set your preferred accounts:
CODEBLOCK3
Avanza投资追踪器
解析交易CSV文件并计算投资组合绩效指标。
快速开始
从技能根目录运行,数据路径指向你的工作区:
bash
导入交易记录(数据存储在技能目录之外)
python scripts/cli.py import ../data/avanza/transactions.csv
计算统计数据并自动更新价格
python scripts/cli.py stats --update-prices auto --database ../data/avanza/asset_data.db
或使用默认设置(假设你先进入数据目录)
cd ../data/avanza
python ../../skills/avanza-investment-tracker/scripts/cli.py import transactions.csv
数据存储模式
用户数据存储在技能目录之外。 推荐结构:
workspace-finance/
├── skills/avanza-investment-tracker/ # 可移植技能(可共享)
│ ├── SKILL.md
│ ├── scripts/
│ └── assets/
└── data/avanza/ # 你的私有数据
├── transactions.csv
├── special_cases.json
└── asset_data.db
技能提供逻辑。你的数据保持私有且可移植。
CLI参考
| 命令 | 描述 |
|---|
| python scripts/cli.py import FILE | 从CSV导入交易记录 |
| python scripts/cli.py stats |
显示绩效统计 |
| python scripts/cli.py stats --update-prices auto | 更新价格,然后显示统计 |
| python scripts/cli.py accounts | 显示账户摘要 |
| python scripts/cli.py status | 检查系统状态 |
| python scripts/cli.py reset --confirm | 清除数据库(破坏性操作) |
所有命令均接受:
- - --database PATH(默认:data/assetdata.db)
- --special-cases PATH(默认:data/specialcases.json)
技能内容
avanza-investment-tracker/
├── SKILL.md # 本文件
├── requirements.txt # pip依赖
├── assets/ # 模板(复制到你的数据目录)
│ └── specialcasestemplate.json
├── scripts/ # Python代码
│ ├── cli.py # 主CLI入口
│ ├── data_parser.py
│ ├── database_handler.py
│ └── calculate_stats.py
└── references/ # 详细指南(按需加载)
├── workflows.md
└── troubleshooting.md
依赖项
- - requests - 用于获取股票价格
- 标准库:sqlite3、csv、json、datetime、argparse
安装:pip install -r requirements.txt
特殊情况
公司行为(拆股、分拆)可能需要手动规则:
- 1. 复制模板:cp assets/specialcasestemplate.json ../data/avanza/specialcases.json
- 编辑你的规则
- 使用--special-cases ../data/avanza/specialcases.json导入
另请参阅
账户筛选
默认情况下,统计显示所有账户。使用settings default-accounts设置首选账户:
bash
设置默认账户(你的主要投资组合)
python scripts/cli.py --database ../data/avanza/asset_data.db settings default-accounts 1234567,Savings Account,9876543
仅查看默认账户的统计
python scripts/cli.py --database ../data/avanza/asset_data.db stats --account default
或直接指定账户
python scripts/cli.py stats --account 1234567,Savings Account
查看所有账户
python scripts/cli.py stats --account all