Several years ago, coding in financial firms was generally more of a specialist occupation restricted to quants and developers. These days there is a realization that coding can be beneficial wherever you sit in a bank.
There's good reason for this. Rather than being frustrated by scores of massive Excel spreadsheets creaking with the weight of too much data, Python can help you slice and dice big datasets and automate tasks.
Full time bank employees are well aware of the potential. I regularly get asked, what are the best ways to learn Python for finance, if you haven’t coded before? Here are some ideas below to try. In practice, a mixture of these are likely to work best.
You could do a crash course workshop in data science and Python. These can range in length from a week such as the Thalesians AI school in Oxford to several months for some of General Assembly’s courses.
You can also schedule a course for whenever you want with an online service like DataCamp? Their material consists of video lectures, as well as exercises for you to do. There are loads of other free tutorials online. I've put a list of some of the best together here.
Reading books on Python can help structure your learning process. Some are for compete beginners like Introducing Python: Modern Computing in Simple Packages by Bill Lubanovic. Then there are books to read later discussing the use of Python specifically for number crunching such as Python for Data Analysis by Wes McKinney. Literally, talking my own book, I’m co-authoring a Python markets book with Jan Novonty too.
On the job
One great way to learn is to have a real-world problem you want to solve. This can be a great motivator to learn. It could be writing a Python script to automate a dreaded Excel update which you have to do daily.
Seeing presentations and demos at meetups can be a great way to improve your Python coding and learn about new Python libraries. I personally started learning Python in large part because of all the meetup groups I attended devoted to the language.
Learning to code can be an isolating experience, sitting in front a computer, which incessantly says no, when you click the “run” button! If your friends are also learning Python at the same time, it can help to encourage you to persevere. They might also be able to give you tips on learning resources they find useful.
In many banks, internal courses are being offered to learn Python. Research this, and maybe save yourself a bit of money in the process.
No, I’m not joking! I follow a lot of data scientists on Twitter. Whilst no one is going to teach you Python in 280 characters at time, I’ve found Twitter a great way to improve my Python coding and learn tips and tricks. (Look at my Twitter account to see who I follow).
If you want to learn Python, I’d strongly recommend Python Weekly. It showcases various Python projects and tutorials. Ok, so I might be biased though, because they showcased my open source finmarketpy Python library a while back!
Lastly, there's university. This might require you to throw in your full time job, but it could be worth it. At master’s courses in data science, such as one offered at Birkbeck, you can learn Python and also get taught how to apply it to solve real world data science problems. You also can do a conversion computer science master’s degree, like at Imperial, where you learn several different computer languages, as well as the theory behind computer science.
Saeed Amen is a systematic FX trader, running a proprietary trading book trading liquid G10 FX, since 2013. He developed systematic trading strategies at major investment banks including Lehman Brothers and Nomura, and runs Cuemacro, a consulting and research firm focused on systematic trading.
Have a confidential story, tip, or comment you’d like to share? Contact: email@example.com in the first instance. Whatsapp/Signal/Telegram also available.
Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)