Thanks for sharing Red S. The harder questions on ticker management IMO are around options and multipliers. Options are instruments that have a limited lifetime, and a lot of parameters. IMO the best way to manage those is by using a long and explicit symbol name which includes all the relevant components, the expiration date, base instrument code, and strike price. Futures options also involve two expiration dates, and a separate product code for the options class itself (the base code being for the deliverable itself). It's not obvious since expiration dates aren't carried through in upstream systems (and I've had to resolve those using a historical database https://github.com/blais/mulmat of (futures, options) pairs and their actual expirations). There are also other complications around splits, which sometimes require, at least temporarily, a different deliverable for the stock.
What's more, is that options and futures involve a multiplier (and American options on equities typically have a 100 multiplier), and that also needs to be either pulled from a database or weaved into the symbol or commodity declaration. See also my old doc on symbology: https://furius.ca/beancount/doc/symbology The symbology I describe in the doc is actually more terse than what I'd use if I started over today; I would likely include both the base and options class codes as well as the multiplier in the symbol, and extra infos to identify European vs. American contract styles and leave space for anything else. Basically give up on having a separate lookup db and put all the parameters into the symbol name. IMO the convenience is worthwhile. On Sat, Aug 6, 2022 at 5:09 PM Red S <[email protected]> wrote: > Ofx files typically refer to tickers (stocks, funds, etc.) by using > identifiers. For example, Fidelity’s “Fidelity 500 Index Fund” with a > ticker of FXAIX is referred to in Vanguard ofx files by its ISIN, > “US3159117502. Worse, different brokers use different identifiers to refer > to the same ticker. > > In this new article, *Tickers and Identifiers* > <https://reds-rants.netlify.app/personal-finance/tickers-and-identifiers/>, > I write about how to manage these as automatically generated metadata in > your commodity declarations, which your importers can use. > > The utility used is ticker-util, which I wrote about previously > <https://groups.google.com/g/beancount/c/eewOW4HQKOI/m/K22cx4IYAAAJ>. You > may also want to check out *Know Your Tickers* > <https://reds-rants.netlify.app/personal-finance/know-your-tickers/>, > which talks about how to automatically download and maintain commodity > metadata with ticker-util. > > ticker-util ships with Fava Investor > <https://github.com/redstreet/fava_investor>. > > -- > You received this message because you are subscribed to the Google Groups > "Beancount" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beancount/7edba807-a030-4cae-adab-b62aa0d68534n%40googlegroups.com > <https://groups.google.com/d/msgid/beancount/7edba807-a030-4cae-adab-b62aa0d68534n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/CAK21%2BhP48twOUvQMOdce8NDVT%3DvKsdh2DLWsXKCOTn7ua%2BvidQ%40mail.gmail.com.
