It looks like you're new here. If you want to get involved, click one of these buttons!
So I've tried this out over a period of a couple of weeks. First just asking some clarifying questions and finally asking it to produce a PortfolioSLicer V3.1 compliant Transaction worksheet using the data provided in a transaction CSV from my broker.
1. For the clarifying questions, as I was very new to PortfolioSlicer, I found this very useful to get a fuller explanation based on numerous free form questions. Very complete answer that made it easier than going through all the documentation web pages and the forum Q&As. Sometimes OpenAI is a little too verbose but at this point I won't knock that.
2. Getting it to translate my broker's csv into a V3.1Transaction worksheet mostly worked, and it was an interesting and useful
experience.
3. For some background, I already about 5 years worth of transactions from my broker which ended up being about 900 rows in an Excel CSV file. The challenges I faced was that my broker used different terminology for a number of transactions, e.g. it used both Distribution and Dividend depending on which Mutual fund it was referring to. There were also a number of transactions where details of the transaction were buried in a free form text comment field, including info such as exchange rate, sometimes the number of shares, Return of Contributions, etc.
4. I created two test files to test the translation one of about 10 transactions, and one with about 60.
5. Finally to deal with issues in the brokers transaction csv file, I had to create a rules file in Excel for OpenAI to follow. This contained rules such as mapping of transactions and how to deal with certain exceptions. In the case of Dividends there were 10 rules as my broker did not use a consistent language or format depending upon what stock or Mutual Fund was referred to. In the end there were 59 rules.
6. These rules were finalised over multiple runs of the test file against the rules. OpenAI was able to provide feedback about why it did some things which allowed me to further develop the rules file.
7. In the end there were about 10% of the overall transactions that I had to fix manually before inputting into PortfolioSlicer. Note that I know my ruleset isn’t perfect and I made a decision to allow some errors knowing I would need to fix them manually, rather than spend more time trying to add or fix more rules. An example of this was my broker used the transaction Transfer to mean 3 or 4 different things. Writing rules to determine the difference was taking more time than it would take to do them manually especially since I would be unlikely to run across this type of transaction in the future.
8. Good stuff
- OpenAI broke down all the steps it was doing, why it was doing them and showed how it mapped into the final product.
- OpenAI showed were it had problems and the assumptions it made along with providing a commentary notes to Review the problems as well as suggestion to add or change existing rules.
- In the initial runs, along with the rules I provided, it also produced a listing of all the rules it applied aver and above mine. This helped a great deal in helping me add and clarify to my ruleset.
- I had a couple of rules where I had OpenAI add a couple of columns at the end to allow me to audit and trace the results, this worked extremely well.
- I also had rules that told OpenAI that if it didn’t understand a transaction, do something and put a comment in the TransSubType column. This worked well.
9. Failings:
- Although I explicitly said I was using V3.1 and this was in the Ruleset, it used some TransType terms that aren't part of the approved types, i.e. In an activity where there was a reinvestment the broker called it Interest with a comment it was reinvested, OpenAI took the Transaction name Interest and replaced it with ReinDiv
- Initially for BankFee it set Qty as 0 vice 1 and did not use SymbolName * Cash
- Sometimes OpenAI simply ignored rules in the Ruleset. When questioned, it replied that I was right and then reran the file correcting its error.
- There were a number of instances when trying to figure how to enter a transaction that OpenAI gave me blatantly wrong information. One was on how to deal with US dollar transactions with a Can dollar portfolio. It was only after I questioned Vidas Matelis that I got the correct answer.
10. OpenAI account things to know.
- If you use the free OpenAI account this is all doable. However, the free account has time and analysis limits built in. I found many instances that I had run out of free time and was locked out for up to 24 hours. This time and analysis allocation became especially apparent when doing trial runs with test data. Due to the analysis required I could sometimes run it only once, then was locked out.
- I was able to complete most of my questions and begin the development of my ruleset using the free version. When I wanted spend a bunch of uninterrupted time I upgraded to the free 30 day trial of the OpenAI Plus. This worked extremely well and I never had a time or analysis issue again. However unless you do a lot of AI stuff it was not worth $20 monthly to keep the account and I let it expire. Fortunately I did my final production run a week before this so I had no issues I couldn’t fix in the remaining week.
- When you run out of time, it never said anything, it simply gave me an error saying that although the run worked, the Python execution tool failed to execute. Sometimes it said I’ve reached my analysis limit and I should upgrade and then suggesting I come back the next day and try again at a specified time. However, when I was able to log in again OpenAI was able to provide a good explanation on what happened, why and the limitations of the free account. What it cannot tell you is how reading a particular Excel File, analysing it will effect you time limit. At some point it just stopped until the time period had elapsed.
- Nevertheless it is a great start and I can't wait to see what the AI provides as a response tomorrow at 11:48 AM
11. Using CoPilot
- I decided on a lark to run this through Microsoft CoPilot and see what it came up with using the same ruleset and test file I used on OpenAI. I found Co-Pilot did a better job with fewer errors to fix and it completed all the rules on the first run.
- Note that I have a MS 365 family account and didn’t have any time or analysis limits that I experienced in OpenAI initially.
12. Overall Experience
- I found this worthwhile, given my limited to no experience in either OpenAI or PorfolioSlicer. It certainly made the translation of the 900 transactions I had much easier. I know my rule file isn’t perfect and it worked (more or less) for the csv transaction files produced by my broker.
- It forced to really understand PS V3.1 transactions and it helped me learn a lot about asking questions and interpreting answers from AI systems.
- Given the issues I had above, you cannot accept blindly the results from the translation here. You still need to understand how to format and use each of the different Transaction Names and how they are formatted
- In the future I will probably add any new transactions from my broker manually as I only have 10-12 of them monthly so it is easy to do them manually. I will likely try putting this together as a Power Query function just to try something new.
- Just for information if anyone cares when I started OpenAI was using ChatGPT V5.2 and when I was finishing up it had gone to V5.3.
- If anyone has questions please let me know and I’ll try answer as best as I can.