Research Intern - University of Toronto
Paper published on 23 November 2023 in the Operations Research Forum - ChatGPT-based Investment Portfolio Selection
Paper published on 23 November 2023 in the Operations Research Forum - ChatGPT-based Investment Portfolio Selection
Supervisors: Prof. Dr. Oleksandr Ramanko & Prof. Dr. Roy H. Kwon
(May '23 - Aug '23)
PUBLICATION
A paper titled 'ChatGPT-based Investment Portfolio Selection' published by Optimization Research Forum on 23 November, 2023
DOI: 10.1007/s43069-023-00277-6
Co-authors: Prof. Dr. Oleksandr Ramanko & Prof. Dr. Roy H. Kwon
Project Title: Financial Planning and Portfolio Optimization with Data Analytics and Artificial Intelligence
Objective: To investigate the efficacy of integrating artificial intelligence, specifically ChatGPT, in financial portfolio selection and optimization
Role and Responsibilities:
Conducted an exhaustive literature review focused on financial challenges addressable by Artificial Intelligence, leading to the formulation of a problem statement centered on the potential of ChatGPT for investment portfolio selection.
Leveraged the GPT-4 API to extract stock and portfolio recommendations by ChatGPT across diverse scenarios, followed by rigorous validation for robustness.
Executed optimization techniques to create various portfolios, drawing from both GPT recommendations and established portfolio optimization methods, such as mean-variance and cardinality-constrained optimization.
Undertook a comparative analysis of the portfolios against market metrics to gauge the efficacy of ChatGPT in stock selection and weight allocation.
Assisted in preparing the draft of the research paper intended for journal submission.
Description:
During the project, I initiated my work with a detailed literature review on potential applications of AI in quantitative finance. After defining our problem statement, I immersed myself in portfolio management theory and familiarized myself with essential financial concepts. I obtained stock data from Yahoo Finance, computed covariance matrix, and various portfolio metrics (returns, variance, Value-at-Risk) using Python libraries (yfinance, NumPy, SciPy, Pandas). Subsequently, I efficiently processed responses from ChatGPT, utilizing carefully engineered prompts. Using Python and relevant data science libraries, I crafted portfolios based on ChatGPT’s suggestions and applied Markowitz Mean-Variance, and Cardinality Constrained Portfolios with optimization tools (CPLEX) and libraries (cvxpy). The efficient frontier was plotted using data visualization techniques, including bar graphs, pie charts, line graphs, etc., using Matplotlib., and portfolios were thoroughly compared using metrics such as returns, VaR, volatility, Sharpe ratio, and drawdown in three different out-of-sample periods, to ensure robustness. I repeated the process for various sizes to study diversification effects and drew comparisons among them. Concluding the project, I synthesized all findings, visualizations, and analyses, assisting with the drafting of our research paper.
Challenges:
Navigating unfamiliar terrain in finance and portfolio optimization was initially demanding but was overcome after a comprehensive study of reference books and other resources to gain a better and thorough understanding
Authoring a research paper for the first time posed challenges, yet under the guidance and help of supervisors, it transformed into a valuable learning endeavor.
Achievements:
Uncovered that while ChatGPT excels at stock-picking, its weight assignment can be optimized further, yielding enhanced results when integrated with traditional portfolio optimization techniques."
"Generated portfolios outperformed both the market benchmark (S&P 500) and a composite portfolio mirroring top-performing investment funds across three out-of-sample periods."
"Contributed to a research paper currently under review by the Operations Research Forum journal.
Skills Utilized:
Portfolio Optimization Techniques, GPT-4 API, Prompt Engineering, Data Visualization and Analysis
Python, CVXPY, Pandas, Numpy, Matplotlib, CPLEX solver
Impact:
The project demonstrates the capabilities of Large Language Models like ChatGPT in financial decision-making, illustrating that when combined with quantitative finance methodologies, they offer a more potent and efficient approach, potentially outpacing current robo-advisory strategies
Lessons Learned:
Realized the vast versatility and potential of AI and LLMs, particularly in the finance domain.
Recognized the pivotal role of data visualization and analysis in conveying complex financial outcomes.
Acquired insights into the intricacies of drafting a comprehensive research paper.
Valued international collaboration and teamwork, benefiting from the mentorship of esteemed professors and fostering skills like effective communication and project management.
Cultivated personal attributes including grit, resilience, and patience through the research journey.
Reflecting on the evolution of this research project, I am deeply thankful for the guidance and mentorship provided by both Dr. Romanko and Dr. Kwon. As an undergraduate research intern, I embarked on a quest for knowledge, and their expertise and support were pivotal in shaping the project's narrative. Their unique ability to nurture independent thought, coupled with a collaborative spirit, elevated the research experience. Both their experience and insights not only refined the project's direction but also ignited a passion for research in me. This project's success wouldn't have been possible without their generosity in sharing knowledge, time, and wisdom. I am truly appreciative of their mentorship, which has equipped me not only with research skills but also with the confidence to explore the unknown.
Supervisor: Prof. Dr. Satish Bukkapatnam / Guide: Akash Tiwari
(September '22 - till date)
Objective: Worked on a Python-based deep learning model in PyTorch, utilizing the Kaolin Library, and Computer Vision techniques to analyse motion of diamond shells from their blurred images captured during their machining.
Role and Responsibilities:
Literature review on current models
Model adaptation and modification to meet project specifications
Motion and trajectory data extraction and visualization
Analysis of translational and rotational motion
Description:
I initiated the project by undertaking literature review of models utilizing deep learning to decipher information from blurred images of Fast-Moving Objects (FMOs). Subsequently, I refined the existing ShapeFromBlur model by introducing several enhancements which include: adapting the model to process a sequence of inputs instead of a singular image, reconfigured the loss function to account for the interdependencies of sequential frames and integrated a regularization term for translation to ensure continuity. This process led to the successful extraction and representation of motion (translation and rotation) data, enabling insightful visualization and analysis of the results. Presently, I am focusing on the MfB model, seeking to extract meaningful insights from its output parameters.
Challenges:
Navigating the intricacies of modifying a deep learning model for the first time posed initial challenges, which were subsequently overcome.
Encountered challenges in addressing limitations of the existing model, notable among them being: inability to predict motion direction and discrepancies in X, Y, and Z motions.
Difficulties in interpreting and extracting valuable data from certain MfB model output parameters.
Addressing GPU constraints to effectively run the model for shell videos.
Achievements:
Refined the SfB model to accept a sequence of multiple consecutive image frames from the video, wrote an automated program which extracted pre-processed image frames from the video
Integrated the SLIT loss function across multiple successive images to capture their interdependencies.
Implemented a regularizer term for X-direction translation to ensure continuity.
Successfully extracted and plotted translation and rotational data for in-depth result analysis.
Skills Utilized:
Machine learning, Deep Learning, Data analysis and Visualization (Matpotlib), Image and Video Processing
Python, PyTorch, Kaolin
Impact:
The extraction and analysis of motion parameters from blurred high-speed camera captures of shell machining provides a deeper understanding of the machining process. Analysing the motion and differentiating between slipping and pure rolling movements enhances the efficiency and precision of the operation.
Lessons Learned:
Grasped the versatility and capabilities of deep learning models.
Engaged with cutting-edge technology within a research group, cultivating skills in international collaboration and advanced research methodologies.
Developed personal attributes such as grit, perseverance, and patience through the project's challenges and demands.
I am having an extraordinary journey on this project, and I owe a debt of gratitude to both Akash Tiwari, Graduate Research Assistant at TEES as well as Dr. Satish Bukkapatnam, my guiding light throughout this endeavor. As an undergraduate research intern, I had the privilege of working under their mentorship. Their patient explanations, relentless encouragement, and profound insights not only shaped the project's trajectory but also honed my skills and instilled a deep appreciation for deep learning methods. It's not just the research outcomes that I carry forward, but also the enduring lessons on resilience and intellectual curiosity that they both imparted. This project's success is a testament to their unwavering dedication to fostering growth and learning. Thank you, Akash and Dr. Bukkapatanam, for being an instrumental part of this journey.
Supervisor: Neelakantan Subramanian, Senior Digital Specialist, Quolam Business Solutions
[Oct ’21 – Dec ‘21]
During my internship, I was tasked with a significant project involving automation in the healthcare insurance sector. The challenge was to streamline the process of raising prior authorization claims for patients across a major insurance website. This process involved populating data from Google Sheets onto the insurance provider's website.
To tackle this challenge, I developed Python-based automation bots. These bots not only raised the claims but also efficiently stored the authorization numbers and status back into Google Sheets. This end-to-end automation significantly sped up the process, making it 50% faster than manual procedures.
One of the technical highlights of this project was the integration of complex tasks within the automation bots. I implemented a feature that generated patient reports in PDF format and seamlessly uploaded these files to the insurance websites. This innovation eliminated the need for manual intervention and reduced form-filling errors by an impressive 20%.
Through the development of automation bots and the integration of complex tasks, I not only met the challenge but also exceeded expectations by delivering a highly efficient and error-reduced solution.
Skills: Python, MySQL, HTML, Git, Website Automation, Google Cloud Platform (GCP), Windows Server, Web Scraping, Robotic Process Automation (RPA).