Techno Blender
Digitally Yours.

Learning to Code For Finance. What do you really need to know to work… | by Jay Peterman | May, 2022

0 93


What do you really need to know to work effectively with data?

Photo by Patrick Weissenberger on Unsplash

The financial industry uses a lot of data, and many analysts have to pick up tech skills on the job. If you work in this field, you’ve likely inherited several poorly maintained Excel workbooks that have been passed down for generations. Everybody knows that there are better ways to store data and maintain models, but I don’t think most people realize how long a little coding can go.

I entered the financial industry with zero programming knowledge, and started learning on the job. It’s had a very positive impact on my career satisfaction. I’ve gathered some insights throughout my journey, and they might be useful to anyone in a similar position.

What languages should you learn (and which ones should you skip)?

Let’s start by talking about the languages you should skip. Since Excel is still widely used throughout the industry, it’s tempting to learn VBA. There are some limited situations where VBA might be the right tool, but it’s a frustrating language to use. Further, it keeps you dependent on Excel. Matlab is another language that’s been used quite a bit in the industry, but I think there are much better options these days.

I believe for most analysts in the investment industry, you should learn two languages: SQL and either Python or R (There are definitely some benefits to know both Python and R).

SQL is arguably the most important language for analysts, but it often gets omitted from the list. SQL definitely isn’t as sexy as Python, but there are a lot of good reasons to make it your first language. You will learn the basics of how data is modeled, and how to perform all the common transformations. This will make learning libraries like Pandas or dplyr more intuitive when you dive into Python or R.

In my experience, data management gets overlooked on many investment teams. Too many teams rely on Excel workbooks for storing data, and it creates a lot of problems. If you can learn even a little bit about databases and SQL, you can start migrating away from Excel into safer and more scalable solutions.

SQL is great, but R and Python really shine when it comes to more complex statistics, machine learning, and automation. You will also find great data visualization libraries in both languages.

Don’t get too caught up trying to choose between Python and R, because it really doesn’t matter for most people. For statistics and machine learning, you will likely be happy with either language, but I’ve often felt like R has more packages targeted to financial professionals. However, when it comes to offerings from financial data providers like Bloomberg, FactSet, and Morningstar, it appears that Python is the language of choice.

I think both languages have similar learning curves, but I think most people will feel at home faster with R. However, if you goal is to truly dive deep into coding, you should definitely choose Python. Python is a general purpose programming language, and has much broader set of use cases than R.

Learning Python vs. learning how to do things with Python

Not everyone has the same goals or needs, and it’s important to figure out what you want. Some people dive into coding and get obsessed, while others just want to learn how to perform some statistical tests. There’s no right or wrong answers here, but you do have to think about what you want from your career.

It’s common to hear that Python and R are easy programming languages to learn, but they still require a lot of time and dedication to become proficient. You definitely need some solid programming skills to be a quant, but most analysts probably don’t need to aspire to attain anything near expert level.

For some people, it’s enough to just learn how to do a few things in a programming language. Most analysts will get a lot of value out of learning basic data wrangling, statistics, and data visualization in R or Python. These skills alone will give you a solid tool set to start performing analysis, automating tasks, and replacing Excel. This is especially true if your goal is to be able to collaborate with other Python/R users, and you’re mainly building some POCs.

There’s definitely a downside to learning bits and pieces of a language, and you will likely hit some walls. I often see analysts start out by using Python/R to build more complex models. They start to hit walls when the data needs specific transformations or when the data needs to be cast into different types. Another common issue is when an analyst builds a model, and needs run it for large number of assets. The analyst will likely struggle if they haven’t learned the basics of control flow. It’s not that these topics are specifically challenging, but they can throw you for a loop if you unfamiliar with the concepts.

I think the proper path to picking up a relatively niche skill set looks like this:

  1. Learn the basics: data types, basic data structures, control flow, etc.
  2. Learn packages for data analysis: Pandas or dplyr
  3. Learn a visualization package: ggplot2, Plotly, Matplotlib
  4. Learn packages for statistical analysis
  5. Learn packages tailored to your needs in the financial industry. Some of the packages that have helped me a lot are PerformanceAnalytics, PortflioAnalytics, and PyPortfolioOpt.

Learn how to use APIs

When it’s your job to work with data, you need to be able to get you hands on it first. Luckily, there’s a rich ecosystem of financial APIs that can help you. A lot of APIs have R and Python clients that make it easy to extract data, but you will get a lot of value from learning how to consume data from REST and WebSocket APIs. Some APIs that have helped me a lot are Alpha Vantage for price data and FRED for economic data.

Use version control

Don’t store your scripts in local or shared drives. It’s easy to delete or edit the wrong script, and and it can be tough to restore previous versions. A better option is to start using git. Git is cool because it enforces a process for making changes, and it keeps a log of all changes over time. Now if you scripts start erroring out or producing bad results, you can go through the log to see what changed.

Don’t skip the documentation

When you’re learning on the job and trying to keep your head above water, it’s easy to skip documentation. This isn’t necessarily for you, but it’s for the people that want to use your scripts. Without proper documentation, your teammates will either ignore your work, or they will constantly ask for help. Further, you will likely change teams throughout your career, and good documentation helps with continuity upon your departure.

Don’t become the local IT person

When you start working on technical problems, it’s easy to become the go-to-person anytime something breaks. It’s obviously good to help unblock teammates, but don’t do the boring stuff so others don’t have to put their own time into learning.

Conclusion

This has outlined some of the insights I’ve gathered while learning how to code in the investment industry. I hope you found it helpful.


What do you really need to know to work effectively with data?

Photo by Patrick Weissenberger on Unsplash

The financial industry uses a lot of data, and many analysts have to pick up tech skills on the job. If you work in this field, you’ve likely inherited several poorly maintained Excel workbooks that have been passed down for generations. Everybody knows that there are better ways to store data and maintain models, but I don’t think most people realize how long a little coding can go.

I entered the financial industry with zero programming knowledge, and started learning on the job. It’s had a very positive impact on my career satisfaction. I’ve gathered some insights throughout my journey, and they might be useful to anyone in a similar position.

What languages should you learn (and which ones should you skip)?

Let’s start by talking about the languages you should skip. Since Excel is still widely used throughout the industry, it’s tempting to learn VBA. There are some limited situations where VBA might be the right tool, but it’s a frustrating language to use. Further, it keeps you dependent on Excel. Matlab is another language that’s been used quite a bit in the industry, but I think there are much better options these days.

I believe for most analysts in the investment industry, you should learn two languages: SQL and either Python or R (There are definitely some benefits to know both Python and R).

SQL is arguably the most important language for analysts, but it often gets omitted from the list. SQL definitely isn’t as sexy as Python, but there are a lot of good reasons to make it your first language. You will learn the basics of how data is modeled, and how to perform all the common transformations. This will make learning libraries like Pandas or dplyr more intuitive when you dive into Python or R.

In my experience, data management gets overlooked on many investment teams. Too many teams rely on Excel workbooks for storing data, and it creates a lot of problems. If you can learn even a little bit about databases and SQL, you can start migrating away from Excel into safer and more scalable solutions.

SQL is great, but R and Python really shine when it comes to more complex statistics, machine learning, and automation. You will also find great data visualization libraries in both languages.

Don’t get too caught up trying to choose between Python and R, because it really doesn’t matter for most people. For statistics and machine learning, you will likely be happy with either language, but I’ve often felt like R has more packages targeted to financial professionals. However, when it comes to offerings from financial data providers like Bloomberg, FactSet, and Morningstar, it appears that Python is the language of choice.

I think both languages have similar learning curves, but I think most people will feel at home faster with R. However, if you goal is to truly dive deep into coding, you should definitely choose Python. Python is a general purpose programming language, and has much broader set of use cases than R.

Learning Python vs. learning how to do things with Python

Not everyone has the same goals or needs, and it’s important to figure out what you want. Some people dive into coding and get obsessed, while others just want to learn how to perform some statistical tests. There’s no right or wrong answers here, but you do have to think about what you want from your career.

It’s common to hear that Python and R are easy programming languages to learn, but they still require a lot of time and dedication to become proficient. You definitely need some solid programming skills to be a quant, but most analysts probably don’t need to aspire to attain anything near expert level.

For some people, it’s enough to just learn how to do a few things in a programming language. Most analysts will get a lot of value out of learning basic data wrangling, statistics, and data visualization in R or Python. These skills alone will give you a solid tool set to start performing analysis, automating tasks, and replacing Excel. This is especially true if your goal is to be able to collaborate with other Python/R users, and you’re mainly building some POCs.

There’s definitely a downside to learning bits and pieces of a language, and you will likely hit some walls. I often see analysts start out by using Python/R to build more complex models. They start to hit walls when the data needs specific transformations or when the data needs to be cast into different types. Another common issue is when an analyst builds a model, and needs run it for large number of assets. The analyst will likely struggle if they haven’t learned the basics of control flow. It’s not that these topics are specifically challenging, but they can throw you for a loop if you unfamiliar with the concepts.

I think the proper path to picking up a relatively niche skill set looks like this:

  1. Learn the basics: data types, basic data structures, control flow, etc.
  2. Learn packages for data analysis: Pandas or dplyr
  3. Learn a visualization package: ggplot2, Plotly, Matplotlib
  4. Learn packages for statistical analysis
  5. Learn packages tailored to your needs in the financial industry. Some of the packages that have helped me a lot are PerformanceAnalytics, PortflioAnalytics, and PyPortfolioOpt.

Learn how to use APIs

When it’s your job to work with data, you need to be able to get you hands on it first. Luckily, there’s a rich ecosystem of financial APIs that can help you. A lot of APIs have R and Python clients that make it easy to extract data, but you will get a lot of value from learning how to consume data from REST and WebSocket APIs. Some APIs that have helped me a lot are Alpha Vantage for price data and FRED for economic data.

Use version control

Don’t store your scripts in local or shared drives. It’s easy to delete or edit the wrong script, and and it can be tough to restore previous versions. A better option is to start using git. Git is cool because it enforces a process for making changes, and it keeps a log of all changes over time. Now if you scripts start erroring out or producing bad results, you can go through the log to see what changed.

Don’t skip the documentation

When you’re learning on the job and trying to keep your head above water, it’s easy to skip documentation. This isn’t necessarily for you, but it’s for the people that want to use your scripts. Without proper documentation, your teammates will either ignore your work, or they will constantly ask for help. Further, you will likely change teams throughout your career, and good documentation helps with continuity upon your departure.

Don’t become the local IT person

When you start working on technical problems, it’s easy to become the go-to-person anytime something breaks. It’s obviously good to help unblock teammates, but don’t do the boring stuff so others don’t have to put their own time into learning.

Conclusion

This has outlined some of the insights I’ve gathered while learning how to code in the investment industry. I hope you found it helpful.

FOLLOW US ON GOOGLE NEWS

Read original article here

Denial of responsibility! Techno Blender is an automatic aggregator of the all world’s media. In each content, the hyperlink to the primary source is specified. All trademarks belong to their rightful owners, all materials to their authors. If you are the owner of the content and do not want us to publish your materials, please contact us by email – [email protected]. The content will be deleted within 24 hours.

Leave a comment