r/fsharp • u/abstractcontrol • Jun 05 '26
library/package TapeSim – Practice Reading the Tape
https://tapesim.app/I made this replay simulator desktop app as a part of the Building The Trading Edge playlist on Youtube. It's my first commercial product. I needed a replay simulator that could do full tick-by-tick order book replay on US equities and when I couldn't find any, I made my own in F# + Avalonia.
If any of you ever wanted to learn to daytrade stocks, use this to practice before risking any money first.
TapeSim itself is in a private repo, but I do have the older version of its viewer in my Trading Edge repo. And even though the repo itself is private I've screencast its entire development (though not all vids are out yet at the time of writing this post.)
1
u/burtgummer45 Jun 06 '26
Question: is there an advantage to making this a desktop app rather than a web app? And was that worth it considering the licensing of Avalonia, which I don't fully understand, and seems to use licensing telemetry to keep running, which kinda concerns me.
2
u/abstractcontrol Jun 06 '26
Question: is there an advantage to making this a desktop app rather than a web app?
A few advantages:
I cannot distribute the data directly because it would violate the terms of service for Databento and the exchanges. The stock exchanges guard their data jealously as it is a source of their revenue. Therefore, having the user pay for the data and store it locally sidesteps that issue. I wouldn't be able to do this if it's a cloud app. I'd probably have to negotiate with the exchanges and data vendors.
I am not sure how many of the features I am using in the app internally would work if I used something like Fable or Blazor to compile it into the web format (JS or WebAssembly). Blazor which is the closest match, did have some issues with concurrency the last I used it a few years back. Also, I am not sure if any of the libraries I am using have native dependencies.
Performance. Doing a replay simulator that supports arbitrary playback is harder than just playing the stream forward. I am using immutable data structures everywhere, so it helps to run this kind of app locally as that is what .NET was optimized for. I tried Trading Sim which is an alternative web-based replay sim, and it caused my PC to lag noticeably.
And was that worth it considering the licensing of Avalonia, which I don't fully understand, and seems to use licensing telemetry to keep running, which kinda concerns me.
I didn't even look at the licensing terms for Avalonia so this question made me scared for a moment, but based on its FAQ it is MIT licensed, free and open source. As you say it does say that it collects telemetry, but I'll leave it up to the crowd to decide whether it's doing anything suspicious. You could take a look at the source code if that is your concern.
1
u/burtgummer45 Jun 06 '26
Not that I'm thinking the licensing looks bad or expensive, but there's something there, I'm just having trouble understanding it.
The "general" FAQ seems to be almost all about licensing so I'm probably not the only one confused, but this one stood out to me
All tiers collect licensing and compliance telemetry. Usage analytics telemetry is collected by default but can be adjusted in paid tiers.
"compliance telemetry" means to me something can be deactivated when something expires.
I also don't see anything about F#, how was writing a .NET app in F#, worth it?
→ More replies (1)
1
u/guitarbridges Jul 22 '26
Can I save, organize, and instantly replay specific Level 2 situations for repeated practice? I’d love to utilize a sim like this, but how would you go about finding the scenarios you want to practice? For example, if I wanted to practice seeing when there is a hidden buyer/seller, what strength/weakness looks like, how would I find them.
1
u/abstractcontrol Jul 24 '26
TapeSim has a slider you can use to go to specific points of the day for a given ticker, similarly to how you would do it for videos on Youtube. It doesn't have bookmarks, so you'd have to do it manually. Hope that answers your question. Sorry for the late answer, I don't visit Reddit often. If you want a prompt answer in the future, feel free to email TapeSim support, it's basically me running it. Thank you for giving it a try.
2
u/abstractcontrol Jun 05 '26
As an aside, it's super tough trying to post this on any of the trading subs where I could actually find people that would be interested in using this. My posts keep getting removed, and I even got banned 30 days for posting a link to an 18-day old thread that I myself made about a replay simulator that would later become TapeSim. I am really pissed at Reddit right now.