HackerTrans
TopNewTrendsCommentsPastAskShowJobs

nnechm

no profile record

Submissions

Reading SEC filings using LLMs

beatandraise.com
118 points·by nnechm·há 3 anos·77 comments

comments

nnechm
·há 11 meses·discuss
Had a similar experience with meta. Extremely opaque decision making, terrible UX. Account permanently disabled ... did not follow community standards, literally on sign up to get a dx account. It's difficult after an experience like that to see how they are so successful. Is it because their users are so addicted and ad sellers will do anything to get onboard ? It's probably just a few dark patterns here and there to bump up impressions at will.
nnechm
·há 2 anos·discuss
Feels more and more like it's the best of times and the worst of times...

Things feel off,but you have (mostly well-off) people talking about how great things are going to be and are. I suspect a lot of this correlates to the stock market.

For the median millenial atleast, whatever you were taught growing up is just the wrong guide to understanding the world today.

I think social media by its very nature, has to be understood inverted. A high number of posts about how great things are suggests otherwise. Comparisons with Europe have gone exponential that tells you more about how the posters feel than anything else...
nnechm
·há 3 anos·discuss
Thank you for the advice, will implement accordingly.
nnechm
·há 3 anos·discuss
I am assuming this is on Cofin and not on beatandraise.com, if so, please let me know, I shall fix it. You have 20 chats etc.
nnechm
·há 3 anos·discuss
:) I guess its not very odd to say investment research is a lot of reading and LLMs are already very good at reading. So there is little doubt that LLMs will change the investment research process. Have you used CapitalIQ, do you use it on the browser or in excel. If you use it on the browser, the experience using beatandraise.com is already better for some cases. For instance, try getting Apple's Rest of Asia Pacific revenues which apple has been highlighting is their main growth region this year, you can pull that out easily. https://imgur.com/a/rRnrB4u Can you do that on capitaliq, you would have to hope their standardized tables include this...
nnechm
·há 3 anos·discuss
I don't think excel can be defeated :) I certainly do not expect financial professionals to switch to a chat interface.

When you login into capitaliq or factset or look at a bloomberg screen, you access data, you can then do the same here. Excel plugins go on top which can then get this data into excel to build models. The api that powers this app, can also send data into excel for instance.

Data can be copied already directly from the chat box into excel, maintaining the table format for e.g

Regarding standardization, I think data was standardized not to enable comparison but simply to fit into the same schema for every industry. Most companies within the same industry report the same way. REITs do not report like SaaS, but the existing datasets put it all into one set. Raw data from source is always better as you can convert it to standardized but you can't go back...
nnechm
·há 3 anos·discuss
I think you are referring to the more hyped version where somehow LLMs can figure out how to get the most relevant information from 10Ks and do most of the investment process. My mental model is simply that we have an assistant, an amazing assistant that can read pretty well, and we can use them in the investment process.
nnechm
·há 3 anos·discuss
Yes, information retrieval is hard :) A lot of people ask for 'can you get Apple's revenues by product category for all of 2020', how do you get the smallest piece of text that has the most information about product category and revenues ?I can get a lot of text, but that would mean I probably run over the context limit and so on :)
nnechm
·há 3 anos·discuss
That's a good question, for e.g if you want to get Microsoft's revenues by product category or apple's revenues in greater China. https://imgur.com/a/LdQkt7j

You can also do this across time with constraints on context limits ...

What is a traditional method, would you search the string or would you find the named entity (using NLP) and look for the entity ? or do you mean a ctrl +F in the document ?

I guess the premise of LLMs, is that we have an intelligence that can read and write, so it can do this in an automated way in different applications. In this case, I am trying to automate and speed up the investment research process, along the way, we can create our own dataset of financial data that can be generated on the fly as necessary.

Also, how would you extract an income statement from the text, also in the same img using a traditional method ? I personally find it magical it can do that, it knows where it ends and so on...
nnechm
·há 3 anos·discuss
A few things on prompting: 1. Get me google cloud revenues fails, because somehow gpt4 thinks i am talking about an entity called google cloud and not google :) 2. So in order to fix it, you can either ask for Get me google's cloud revenues or get me google cloud revenues from google's results...

As you can see, inspite of all the training in the real world, gpt4 thinks google cloud is more of an entity than google is, based on that question :)
nnechm
·há 3 anos·discuss
Thanks for letting me know, i guess you use a different strategy of querying by company and by document. I see this when I try to get Apple's rest of asia pacific revenues for e.g

I guess it really depends on how your targeted user would use it... :)

https://imgur.com/a/uEgLUpz
nnechm
·há 3 anos·discuss
Yes, they are definitely not primitive, but considering how the breakthrough in LLMs happened, i.e MSFT, GOOGL were working on it, even as late as 2021, Google's BERT was not really there (at least the one they showed the public in the blog from Google research). So the sudden jump from ok to great thanks to openAI would probably mean a lot of existing systems also need to do that.
nnechm
·há 3 anos·discuss
Hi, Thanks for bringing that concern up. I shall keep it in mind and change it based on feedback from customers if it is an issue. Typically, people search for a company after a price move rather than before. And these are searches on publicly available data, ie data that is not proprietary and already filed with the sec. Needless to say, none of the chat traffic is used or will ever be used to feed any trading signals for anyone.
nnechm
·há 3 anos·discuss
It would be possible for example to get AMD's revenues over time like this, it's tedious because of context size, but it's unrestricted, so you can get whatever datapoint you want...

If we run this query over an api for income statements for all 8k companies, we pretty much have all income, balance sheet, cashflow items, shares outstanding etc. Add stock price data, that can give you EV/Ebitdas, P/Es and all that stuff.

https://imgur.com/a/2U2wt4h
nnechm
·há 3 anos·discuss
The functions tend to fail when the prompt is complex and the user asks for a lot of fields, and typically the last field in the json is not closed i.e missing a }, i guess openai is aware of it. It doesn't fail that often to have to write a workaround, atleast not yet.

So like a lot of applications, the problem boils down to being able to serve the right text. You have something that can read and do basic inference .... You need to tell it what to read so that it can answer your question. But it can only read 16k tokens (20k words at best). So that's the basic problem. As it's universal, i.e a problem across applications, its going to get better and information will be a lot easier to get access to...
nnechm
·há 3 anos·discuss
As the answers are from the text, we can avoid hallucinations for the most part. I have not experienced made up numbers, instead errors are numbers that are typically misplaced, where it gives you revenues for the last 6 months instead of the last 3 months, when they are both next to each other in a table and so on... or the same numbers for different quarters and so on.

From my experience, GPT4 has been very good in following instructions and doesn't make up numbers which Bard is much more susceptible to. Bard relies heavily on snippets from the web search and completes the rest...

I am pretty sure if google wanted to train it, it would get all the answers right, but the way its designed, it gets one or two numbers and makes the rest up rather hilariously :) and even adds a breakdown which is also made up..

You can take a look here : https://imgur.com/a/vDxOV9D
nnechm
·há 3 anos·discuss
Yes, I think the broader point is you have these readers available on call via api, so you can do all that you suggested and more...
nnechm
·há 3 anos·discuss
I am using openai's latest functions api, so you can get it to return arguments that will ensure that you get a json, it works pretty well most of the time. The json would then be used to fetch a report from a database.
nnechm
·há 3 anos·discuss
Embeddings did not really work well enough for me, let us say you are looking for numerical text, so for e,g get me AMD's revenue from March 2022. The embedding representation needs to understand that March 2022 together is way more important than March alone, I often ended up with March 2021 or March 2018 as being closer because the text might have multiple terms containing 'revenue' or multiple 'march'... Perhaps I could have improved it, but that did not seem like the right path to go down for accuracy.. This was way worse for e.g when I am looking for ECB statements, they can refer to an older date in their current report and it caused all sorts of trouble :). An initial fix was to basically mention March several times so that the search returns that... :)
nnechm
·há 3 anos·discuss
I am using openai's functions as that is a more reliable form of extracting json, but even that can fail sometimes as the response misses a "'" or a }