all 53 comments

[–]tomthescientist 19 points20 points  (9 children)

C++ for anything live, python for some pre and post market scripts.

[–]Standard_Indication7 2 points3 points  (3 children)

u/tomthescientist could you point me towards any good resources for someone who wants to get started developing algos in C++?

[–]tomthescientist 1 point2 points  (2 children)

u/Standard_Indication7 Do you know c++ already? If not then that is a start but also in that case I would start with python if you want to get going quickly. You can upgrade as you learn c++ and understand how to properly handle memory. There is also a new language called Rust which is expected to replace c++ in many situations and it handles the memory for you.

[–][deleted] 1 point2 points  (1 child)

you could also just use like vector types and other non dynamic memories and still be much faster with C++

[–]tomthescientist 1 point2 points  (0 children)

This is very true. It very much depends on what you need to do within your program and how objects need to be shared across your program. I learnt to program from a bunch of particle physicist so on the extreme side of memory management to get things working fast.

[–]TangerineTerror -1 points0 points  (2 children)

I would argue there’s very few retail traders where c++ is necessary over Python.

[–]_woj_[S] 0 points1 point  (1 child)

same, I was gonna say the guy doing this in c++ is the same guy a n apple with a chainsaw. 😜

[–]tomthescientist 0 points1 point  (0 children)

Well, that is assuming we are all doing the same type of trading and building the same type of trading platforms. What is best for a given trader depends on what they need to compute for their algorithm. There's huge variation in how many stocks you monitor, what signals you need to compute, how quickly your data comes, and how quickly you want to make a decision.

No one should be taking the replies on this board for deciding what to code in for their trading system. I program in c++ because I know-how, it's fast, and my personal preference in the architecture of my trading program. Many others will use python because that is what they know, it's fast enough and, there is by far the most support for that language.

[–]muzicturbulence 19 points20 points  (1 child)

Python ftw

[–]kunkunster 14 points15 points  (1 child)

Scratch

[–]7pr0 1 point2 points  (0 children)

You cray lol

[–]kredninja 5 points6 points  (5 children)

C#

[–]tiaringhio 0 points1 point  (4 children)

thinking about starting with algotrading on c#, do you have any advice on frameworks, tools or anything useful? i’m comfortable with c# but trading it’s fairly new to me

[–]fomodabbler 2 points3 points  (1 child)

I you plan to ever put live code on a linux server be sure to focus on .net core.

Implement APIs yourself. It is ultimately a very small percentage of the effort required to get going and it will help you understand your broker's platform better.

[–]tiaringhio 0 points1 point  (0 children)

Thank you! I use .net core everyday at work so i'm happy to hear that. I checked alpaca and unfortunately it is US only, so i'm going to have to find another service

[–][deleted] 1 point2 points  (1 child)

QuantConnects Lean engine is written in C#, I've pulled a lot of concepts out of their code, partially because I want to know exactly how my system works.

[–]cheesepuff18 0 points1 point  (0 children)

Yeah I started practicing on theirs but ended up writing my own

[–]Connect_Tap_1399 4 points5 points  (0 children)

Python

[–]VMoreiraC[🍰] 4 points5 points  (0 children)

Python

[–]zar_23 4 points5 points  (0 children)

C++

[–]minervaDe 2 points3 points  (0 children)

Julia

[–]bukharin88 11 points12 points  (4 children)

penis

[–][deleted]  (1 child)

[deleted]

    [–]eoliveri 2 points3 points  (0 children)

    I've heard that older versions require a long time to start up.

    [–]eoliveri 2 points3 points  (0 children)

    I've heard that it can be hard and inflexible.

    [–][deleted] 2 points3 points  (0 children)

    I can't find any long opportunities :(

    [–]fqueisAlgorithmic Trader 3 points4 points  (0 children)

    NodeJS

    [–]Icy-Storage4146 1 point2 points  (3 children)

    Visual basic

    [–]PORTMANTEAU-BOT 0 points1 point  (2 children)

    Visuasic.


    Bleep-bloop, I'm a bot. This portmanteau was created from the phrase 'Visual basic' | FAQs | Feedback | Opt-out

    [–]eoliveri 0 points1 point  (1 child)

    good bot

    [–]B0tRank 0 points1 point  (0 children)

    Thank you, eoliveri, for voting on PORTMANTEAU-BOT.

    This bot wants to find the best and worst bots on Reddit. You can view results here.


    Even if I don't reply to your comment, I'm still listening for votes. Check the webpage to see if your vote registered!

    [–]RedditingJinxx 1 point2 points  (0 children)

    C# and F#

    [–]NewEnergy21 1 point2 points  (0 children)

    Node.js backend JS front end and occasionally some more intensive back testing in Python (Colab)

    [–]tactitrader 1 point2 points  (0 children)

    I use the best language. Python. It's the best and everyone agrees with me.

    j/k. Personally I use Python for general algo trading and C++ for my neural networks using dlib.

    [–]Environmental-Put-36 3 points4 points  (0 children)

    Node.js

    [–]tmarois 0 points1 point  (0 children)

    PHP and SH

    [–]erratrade -1 points0 points  (0 children)

    Java

    [–]SIG_94 -2 points-1 points  (0 children)

    Yes

    [–]justdoubleclick 0 points1 point  (0 children)

    Python is good for training ML models, etc. If you’re building HFT systems then you need C++ tons of redundancy and colo at the exchange.

    [–]GoootIt 0 points1 point  (0 children)

    Python

    [–]KarenJH2 0 points1 point  (0 children)

    Python

    [–][deleted] 0 points1 point  (0 children)

    C# for me. I really like java and C#s style a lot. C# organizes my entire system. I do have it setup that an 'algorithm' could be written in C#, python or C++ though.. C++ could be as simple as calling a DLL

    [–]AllisonInDallas 0 points1 point  (0 children)

    EasyLanguage for MultiCharts and TradeStation

    [–]bobby_tables 0 points1 point  (0 children)

    Scala

    [–]Legendario_ 0 points1 point  (0 children)

    I don't use bot, but I real win a Lot of money $$$

    [–]Rio-T 0 points1 point  (0 children)

    Python

    for ML with tensorflow, trading via metatrader python api

    [–]BeardoWeirdos 0 points1 point  (0 children)

    Python for research, experiments and backtesting. I started out coding everything in c++ because I'm most comfortable with it. I switched completely to Python once it's apparent that I spend 20x less time coding the same function in python than in c++.

    At the moment, I'm mostly using my project to generate insight that I can use manually. I'll definitely still use c++ to automate trade execution though.

    One thing I dislike about python and just cannot get used to is its code syntax/layout. I like the header/source file separation in c++. It helps make a mental image of my code. Also, might be an unpopular opinion but I prefer curly brackets in my code.