I have written about how my past working strategy revolved around unpopular large caps. The good part about large caps is that full blown frauds aren't as common, though some of them still engage in accounting gimmicks to project the story they want their investors to believe.
In small/mid/micro caps, full blown frauds are a lot more common. So when I was working on my small/mid/micro cap strategy, my first instinct was read the book Financial Shenanigans by Howard Schilit. While I had already read how double-entry accounting works and how to post common entries and how it shows up on balance sheet (B/S), Profit & Loss statement (P/L), Cashflow statements (C/F) long time back, this book was still helpful in different ways. The book does a lovely job of getting you in the mindset of thinking like the CFO who is tasked with cooking the books. And I believe this mindset is the most important I learned from the book.
Hang on there, I don't recommend cooking books, but I believe "Choor ko pakadne ke liye choor jaise soochna jaruri hai". I don't think people realise how seductive cooking the books is especially when the business metrics aren't what people hoped to be. Unless you have been in that situation, you probably won't know that feeling.
This meme captures it perfectly.
Let's get to the substance of what I built.
The book has a lot of repetitive monotonous formulaic things that one has to do. I had learned how to do them manually before AI was such a big a hit. At one point after the claude code skills release, it hit me that why not try an experiment to see if I can get AI to do all of these things. Took a pdf of the book, ran OCR on it and saved it as a txt file. Asked claude to split it into chapters, gave it a pessimistic personality and asked it to write a SKILL.md file which will reference all the chapters. Then I took a sample annual report pdf of a company, asked it to extract text in txt file, and then run analysis according to the framework. Saved the scripts it generated after refining them in the claude skill folder and asked it to re-use them in future runs. Got it to inspect it's own traces and improve the skill among other stuff. I had specifically asked claude to work with txt files and json even in intermediate states because I knew it knows how to use sed, grep and other such tools effectively.
And oh boy, it worked wonderfully. It could catch 90% of the stuff so accurately. I like to pit myself against AI as in okay this is all the things I could find, what could AI find, what did I not find that AI did and what did I find that AI didn't.
Where this agent didn't do well
Let's take the example of Intel/Google/Broadcom etc. Now if I am running analysis on broadcom, there would be some deals Broadcom has done with Google/Intel and sometimes if you read the annual reports of all the companies involved, you can understand the economics of the deal better and how each has accounted for stuff. Since this AI agent has access to only 1, it doesn't have the required context to do the required analysis. That's fair. There's often times that in investor calls they explain the economics of a particular deal and it's important to see if the economics matches the accounting which is also where this fails. Plus there are a lot more things which I feel are more of a context problem than a capability problem.
If you have been with me for this long, I will share the most important thing now. It is often much harder to determine if the company's long term competitive advantaged has reduced. And much easier to see if they are engaging in accounting tricks. AI can't figure out competitive advantages but it can spot accounting tricks ;) AI can't write blog posts like this or think like this.
To put it simply, accounting tricks can be a leading indicator, or as mining engineers say, a canary in the coal mine.
BTW, all of the claude code skill was AI-generated, although heavily assisted and I was baby-sitting it the whole time.