Hello everyone! Just looking for some advice here from all you smart folks.
Background: I passed CFA level 3 this year, still holding a job in the back office of an investment bank. So not getting any required work experience. I’ve been networking like crazy here and also enrolled in a self taught Python course in Udemy. I’ve learned the basics of coding and then it transitioned into how to use it (along with all the libraries) for data science and manipulation. The part of the course I am really excited for is developing an algorithmic trader. Anyways, I truly enjoy getting home from my job here and coding for hours trying to learn, manipulate data, plot it out and hopefully soon develop some algo’s.
I Am curious what sort of job (ideally within the equities group) combines finance knowledge and what I’ve learned and enjoy doing on Python? I do not have a comp-sci degree, nor any real professional investing knowledge so I know I won’t land anything to write home about immediately, I just really don’t know what sort of jobs/job titles to search for to get more info on requirements etc.
If anyone has any idea of a sort of job that I am describing it would be really appreciated. I’d love to do more research on whatever field I am dreaming of!
I don’t think you’d be high frequency trading in python. But you can use those skills in private equity. Python is good for the use in operational datasets or accounting data at the level of journal entries that are too large for excel.
I’m by no means an expert on your question,but if by “Python” and “coding” you mean writing basic functions or simple scripting then you really don’t have much added value since those stuff can be learned by a total beginner in less than 3 months.
Acquiring programming skills with an investment background will lead to a more successful and importantly more enjoyable career. Here is some advice.
Leverage your existing job. From personal experience, I have seen newly acquired programming skills best applied within a domain which you understand really well. Do not immediately hunt for other jobs once you have picked up programming skills. Instead look at your current team’s processes. Pick a really painful process. ie the one process which everyone always moans about. Next, prepare a pitch to your boss and offer to solve this pain point. Mention that you have been learning how to programme in your free time over the last x months and would like an opportunity to add value to the business. Crucially negotiate a set of time, which will allow you to work on this new venture. Put forward that you require a couple of hours each week (e.g. 1 hour per day from 7.30-8.30am) or possibly even a whole day. You know your job best and which hours are typically spent on Facebook instead of working. Even if your job is completely manic, negotiate a few hours a week. Remember, you are offering to solve one of your team’s biggest pain points essentially free of charge. So it is in your boss’s best interest to grant you those hours.
Addendum:Don’t expect a salary increase or a share in the business simply because you are offering to solve for a pain point. Focus on adding value first. The rest; ie career, personal and monetary growth, then follow naturally.
Action plan if you are without a job or absolutely hate your current one. Interviews and finding a job are hard. You are up against dozens of other uber-keen, super-bright candidates all applying for the same position. The only way to win this game is to stand out from the crowd and blow away your competition. You can do this by applying your programming skills to a demo project which you are going to showcase to your future employer. If you have a specific job in mind, e.g. Derivatives Specialist, then choose a project which showcases your knowledge and expertise in this field. For example, showcase a Black-Scholes option pricing web app which allows the user to change various parameters. Your web app then beautifully renders the results in a dynamically updated graph. You will stand out from the crowd and massively increase your chances of getting the job.
If you do not have a specific job in mind, eg you are a recent graduate and merely looking to get an entry level position at any firm; then your best choice is to choose a subject which you are passionate about or excelled at. If you are really struggling to find a topic; download the CFA curriculum. There are endless topics for possible demo projects (e.g. showcase a stock’s random walk, ie price path, using geometric brownian motion; showcase cumulative, drawdown returns, beta for a listed security).
Then showcase your project in the job interview. Prepare the interviewer beforehand stating you would like to demo a [Put Name of Awesome Project Here] project you have been working on for this interview. Take five minutes to explain what it does and then showcase it. Invariably, technical questions will follow relating to the subject matter. These you are able to answer with ease given you spent time programming the actual logic. Your future employer will be blown away by the work ethic, knowledge of said subject matter and importantly an unexpected additional skill set within programming. Future projects which require programming skills will already be earmarked for you. Then sign the job offer and celebrate by taking your partner out for an expensive dinner.
Python is very commonly used in banks for quant work or automating any of the countless operational processes that go along with the business.
But anyway, where lots of finance jobs are concerned, programming is not really the main job - it’s a skill used to achieve some other kind of goal. For instance, this year, I wrote some programs to automate pricing for a few thousand securities. It might have been possible to trade these securities in a less automatic way, but since I had some technical knowledge, I was able to add value to the process through automation.
Even if you are doing some work that might not always involve programming, like equity research (i.e. sales), you could use technical skills to process large amounts of data, filter trends, and use that to produce trading strategies for clients.
The point I am making is that programming in finance is a job enhancer, like good looks or people skills. You can usually find some way to apply technical knowledge to most topics of interest.