Invest Alchemy is a trading assistant focused on ETF portfolios.
Last updated Jul 9, 2026
766
Stars
129
Forks
6
Issues
+1
Stars/day
Attention Score
84
Topics
Language breakdown
Python 52.9%
TypeScript 34.3%
HCL 5.5%
Shell 2.7%
JavaScript 2.1%
Makefile 1.4%
▸ Files
click to expand
README
Invest Alchemy
Invest Alchemy is a trading assistant focused on ETF portfolios. For more context, see this post.
TODO
- Feature
- Arch Improve
- Bug Fix
Note
Strategy
- Trade strategy
- Issue
qfq adjust price to generate trade signals.
- Note
Portfolio
- Split-adjusted share prices: Not processed in the trading ledger (only robots, user trader need add a transaction when split-adjusted happens), but processed in the holding ledger calculation.
qfq adjust price while user trader use close price when calculate the portfolio net value (include transaction/holdings/net value ledger calculation), user trader need add a transaction when split-adjusted happens to adjust the hold amount.qfq cannot fix this issue, because if the split-adjusted share happens, qfq only change it's hsitory price, e.g. the day before split-adjusted day(20220904), 512100.SH close price is 0.982, today(20220905) the close price is 2.713, if the hold amount is not changed, the market value of it will change to nearly three times than before.
- Fix by changing the hold amout when split-adjusted happens and this must happens on the generated transaction csv file phase (if not, the robot trader can not know what amount it can sell). Although this solution can slow the calculation speed, but currently it is the most easy way to fix it.
Robot Trader
- About the slippage issue: Since the underlying traded are daily level ETFs, the impact of slippage issues is minimal.
- About the no liquidity issues: Because simulation trading cannot know the liquidity of the transaction of the day, such as A shares max up and down the restrictions caused the inability to deal, there is a certain deviation from the actual transaction, which is also the charm of the real deal, there is a certain amount of uncertainty brought about by the change.
- About dividends: The robot trader will ignore the case of dividends on the holding position, because the calculation will be complicated. However, real user trader can manually record dividends as one transaction.
- About trade fees: Because the ETF/LOF trade fees in A share market is very low, so robot trader just ignore the trade fees for simplified calculations.
Post
Video Log
About the Author
This project is maintained by the creator of MyInvestPilot — a systematic investment assistance platform focused on rule-based, long-term investing and transparent strategy research.
🔗 https://www.myinvestpilot.com
🔗 More in this category