From Spreadsheets to Speed: My Journey into Programming (and Algorithmic Trading)

From Spreadsheets to Speed: My Journey into Programming (and Algorithmic Trading)

Reflecting on my career, it’s interesting how my early encounters with coding in Excel led me deeper into the realms of programming and algorithmic trading while navigating the ever-changing financial markets.

The VBA Beginnings: Automating with Excel Macros

My journey began with a practical need to streamline tasks in Excel. I started learning to code in VBA to build macros that automated spreadsheets. The ‘record macros’ feature was particularly helpful, allowing me to learn by visually performing tasks and seeing the code generated. This hands-on approach made coding intuitive and immediately applicable to my work.

My basic coding skills were like a comfortable pair of old shoes for a couple of years—they got me where I needed to go without much fuss. However, as my ideas grew in complexity, my lack of ability started to show its cracks. Calculating hundreds of prices for various trading scenarios turned into a slow-motion marathon. It became abundantly clear that I needed a more robust solution to handle the computational heavy lifting.

Transition to C#: Enhancing Performance

In search of better performance, I discovered the possibility of integrating C# with Excel. The integration process seemed approachable, so I immersed myself in learning C#. This transition significantly improved the speed of my calculations and allowed me to handle more complex tasks. However, I realized my understanding of fundamental programming concepts like data structures and algorithms was lacking. Despite this gap, the immediate performance gains were a crucial step forward.

Around this time, the financial markets were experiencing significant shifts. High-frequency trading firms were becoming dominant, and market liquidity was returning. The flash crash highlighted the profound impact that algorithms and automated trading had on market dynamics. My interest in this area grew, especially since I was already involved in using software to execute rapid orders—faster than any human could manually process—in markets where millions of dollars changed hands daily.

Discovering Bitcoin: Embracing Global Fungibility

Approximately three years later, I learned about Bitcoin. A few months after my initial introduction, I began trading it and quickly recognized its unique global fungibility. For the first time, I could buy Bitcoin on an exchange in China and sell it in Brazil, leveraging price differences across markets. This arbitrage opportunity was unlike anything I’d seen before and reignited my desire to delve deeper into coding to automate these processes.

Learning Python: Building Foundations in Programming

To automate my trading strategies effectively, I turned to Python, known for its ease of learning and flexibility for beginners. Without a solid background in programming fundamentals, my initial code was far from perfect—functions spanned a thousand lines, and the overall structure was less than ideal. Nonetheless, the code served its purpose. I could execute trades more efficiently, eventually leading to my first startup adventure. This experience was a significant milestone, marking my transition from a trader who coded out of necessity to someone deeply invested in software development.

Advancing with Rust: Collaborating and Growing

A year into this venture, I began working with experienced programmers who introduced me to Rust. With their guidance, I delved deeper into programming concepts and best practices. Rust offered the performance and safety needed for building reliable systems, and learning it with the help of professionals elevated my coding skills to a new level.

Returning to Programming: Developing Hera

After a period focused primarily on other aspects of my work, aside from a few scripts for data analysis, I returned to programming last year to build Hera. It was enjoyable and rewarding to see how technology evolved—tools like GitHub Copilot made development more efficient. More importantly, my ability to organize ideas and design effective architectures has significantly improved. This project reaffirmed my passion for coding and its potential to drive innovation.

Exploring Market Dynamics: A New Project in Rust

In my latest side project, I’ve returned to coding in Rust over the past few months. Observing increased liquidity on centralized and decentralized crypto exchanges, I was curious about the current speed and strategies of high-frequency traders in these markets. I developed a program to collect and process data from one of these exchanges. Recently, I reached a milestone: processing over one billion market messages. This achievement has provided valuable insights into market behaviors and revealed opportunities for exploration.

Reflecting on the Journey: Continuous Learning and Innovation

Looking back, each phase of my journey built upon the last, leading to a deeper understanding of finance and technology. Starting with VBA macros in Excel, moving through C#, Python, and eventually Rust, I’ve continually adapted to new tools and languages to meet the challenges.

My experiences have enhanced my technical skills and provided a unique perspective on how technology shapes financial markets. I’ve witnessed the impact of algorithmic trading, the emergence of cryptocurrencies, and the evolution of programming languages that power these innovations.

Moving Forward: Seeking New Opportunities in Product Leadership

As I consider the next steps in my career, I’m eager to apply this blend of financial expertise and technical acumen to new challenges. I’m particularly interested in product leadership roles focused on credit, payments, digital assets, or algorithmic trading. My hands-on experience and a deep understanding of market dynamics and technological trends position me well to contribute meaningfully to teams driving innovation in these areas.

Connecting with Like-Minded Professionals

To recruiters and founders looking for someone with a proven track record of adapting to new technologies and a passion for continuous learning, I welcome the opportunity to connect. Let’s explore how we can work together to navigate the complexities of today’s financial landscape and build solutions that make a lasting impact.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了