eNGame
A tool to help you pick the optimal securities to convert between US and Canadian currency using Norbert's Gambit, based on near-realtime data obtained from Yahoo Finance.
- Forum thread: https://www.financialwisdomforum.org/forum/viewtopic.php?t=198
- Wiki explainer: https://www.finiki.org/wiki/Norbert%27s_gambit
- Forbes article: https://www.forbes.com/advisor/ca/investing/what-is-norberts-gambit/
Example
My brokerage charges me commissions of US$15.00 + US$0.01/share to buy US$ securities, and a flat CA$8.00 to sell CA$ securities.
I can execute both of the trades near-instantaneously, without needing to call or message my broker to "journal" shares from one currency to the other BMO InvestorLine is an example of a brokerage where [no journaling step is required](https://www.reddit.com/r/PersonalFinanceCanada/comments/ya3bwh.
I want to convert US$50,000 to CA$. Right now, the mid-market exchange rate is about 1.3512 CAD/USD.
What are the 5 best interlisted CA$/US$ stocks or ETFs to use to do this conversion right now?
Engame can show you the best options. Note that the three best options right now would get you an effective exchange rate that's actually slightly better than the mid-market exchange rate, assuming that you execute both sides of the trade near-instantaneously at the stated bid/ask prices:
$ engame USD 50000 -v -L 5 -S '15.00 + 0.01 * shares' -D '8.00'
Details
Run engame --help for more details.
TODO
Configuration file for preferred symbols and commission structure?
Automatic detection of some of the common pitfalls and problems, including ex-dividend dates and differing market holidays on US and Canadian markets.
Disclaimers
- Do not use this if you don't understand how Norbert's Gambit works.
- I take no responsibility for the accuracy or the timeliness of the stock/ETF/currency data.
- I take no responsibility for the correctness of the calculations.
- Without a realtime data source for Level II quotes, we cannot be sure that there is sufficient market depth to complete both sides of the trade at the expected prices. Limit orders cannot protect you here, because both sides of the trade need to complete quickly in order to achieve the desired currency-conversion outcome.
Release files for eNGame 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| engame-0.0.4.tar.gz | 19.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| engame-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 40.7 kB
Release files / engame-0.0.4.tar.gz
| Download URL | engame-0.0.4.tar.gz |
|---|---|
| Size | 19.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be2044bf0b409357e6c412cd6f02e069ab2d9cedc1ce319ac7ec47a1481ae3fa
|
|
BLAKE2b-256 checksum How to use checksums |
73a12c0731cbd8c1e7366b76f614fe3462faf2812f863c8d25f955ca741a664d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.4 Darwin/22.6.0
|
Release files / engame-0.0.4-py3-none-any.whl
| Download URL | engame-0.0.4-py3-none-any.whl |
|---|---|
| Size | 21.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
882b0cbe04b1533d00e820c0f6f378e63c8bcbda2600abe96badec13b6c804d9
|
|
BLAKE2b-256 checksum How to use checksums |
8284714551d989353a70d5efdaa9035b48c66cae1996d2a7ea0389b66cb9379a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.4 Darwin/22.6.0
|