Hi @roshii,
It is a good time to pick this up ![]()
I’ve been distracted since my last update:
The next step back then was to do some work on FinancialInstruments whose pricing will depend on Markets.
Since you are interested in cryptocurrency, it is worth pointing out an important aspect of JuliaFinance we’ve discussed at length in several roadmap issues. It would be good if you can keep these in mind if you want to be compatible with our plans with JuliaFinance (which I hope you do
) .
Currencies (and Countries for that matter) are a little special. On the one hand, a currency is just a label. We can use this label for various purposes, e.g. UI selections, and when currency is used just as a label, it is overkill to bring in market info such as exchange rates, FX markets, etc.
On the other hand, currencies are also tradable financial instruments. When you want to deal with cryptocurrency as a tradable financial instrument, it should be a FinancialInstrument. The good news is that once your PR is merged, all the cryptocurrencies you added to Currencies will automatically become FinancialInstruments ![]()
Speaking of which, when I look at FinancialInstruments, it reminds me, we may want some special treatment for cryptocurrencies compared to traditional currencies issued by a central bank after all because the name I gave for currency as a financial instrument was “Cash”. I’m not sure that would be appropriate for a cryptocurrency though. What would you call a position in cryptocurrency? “Cash”? “Crypto”? Something else?
Once we settle how to properly deal with cryptocurrency as a financial instrument, the next thing to do would be to construct a market for cryptocurrencies. For that, off the top of my head, I imagine a Market called “Crypto”. Within that Market, you will have multiple Exchanges and each Exchange will provide buy/sell quotes for the crptocurrencies listed on that Exchange. We could make some friendly defaults, e.g. a default market with a default exchange.
It is the Exchange that would connect to the actual exchange to provide market quotes.
Now that you are making good progress and pushing things with cryptocurrencies, I’ll try to help out to ensure what you are working on can fit into a bigger picture.
Anyway, rather than bikeshed here, let’s discuss details on GitHub ![]()