-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement Data Sources #289
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall things are looking very nice. I think there could be more things done on the csv data source, but those can be saved for future PRs.
be8989a
to
39fd055
Compare
- Add DataSource, SimAsset, and TimeSequence template classes - Add SimAssets: OnChainAsset, OnChainAssetPair - Add TimeSequence: DateTimeSequence - Add DataSources: CoinGeckoPriceVolumeSource, CsvDataSource - Add get_asset_data and get_pool_data pipeline convenience functions - Add pool_data.get_pool_assets() - Incorporate new template classes into relevant function signatures - Make CoinGecko data processing more robust - Fix error in unit conversion for CoinGecko volume data
39fd055
to
d5e785a
Compare
Here is a results comparison using the simple pipeline. Current main (_old.html) vs this PR (_new.html). Everything looks nearly the same except for triCRV annualized returns (in crvUSD). Examining the pool value time-series, this is just due to the old version including an initial timestamp with significantly lower prices. In other words, this looks like just an artifact of the precise sample timing being slightly different. The newer timestamp generation (using TimeSequence) is a bit more refined than the old one, so I see no need to try to replicate the old test results explicitly. |
Description
Addresses #287 -- Implements DataSource, SimAsset, TimeSequence
New classes:
Changes to incorporate new classes:
Removed because no longer needed:
See changelog for more details.
Fixes to CoinGecko Data (!):
Hygiene checklist
(modules, public functions, classes, and public methods)
and descriptive commit messages following Tim Pope's style
Cute Animal Picture