SimFin / simfin

Simple financial data for Python
https://simfin.com/
Other
295 stars 39 forks source link

API Data Error #28

Open AnataBakka opened 2 months ago

AnataBakka commented 2 months ago

Data Error 1

I'll just show what i bumped into, not sure how many similar ones actually exist.

Code Example

default code from https://simfin.readme.io/reference/statements-verbose-1

import requests

url = "https://backend.simfin.com/api/v3/companies/statements/verbose?id=1252817&statements=BS&period=Q1,Q2,Q3,Q4&start=2024-03-31&end=2024-03-31"

headers = {
    "accept": "application/json",
    "authorization": "undefined"
}

response = requests.get(url, headers=headers)

print(response.text)

Data Output

"Cash, Cash Equivalents & Short Term Investments": 846684542,
"Cash & Cash Equivalents": 54677000,
"Short Term Investments": 251018000,

Verified with one other source that "Cash, Cash Equivalents & Short Term Investments" math should come up as "Cash & Cash Equivalents" + "Short Term Investments" = 54677000 + 251018000 = 305695000. Unsure how simfin gets 846684542.

Data Error 2

Code Example

url = "https://backend.simfin.com/api/v3/companies/prices/compact?id=808943&start=2024-05-07&end=2024-05-10"

Data Output

Common Shares Outstanding in that date range comes up at: 62551. Actual value should be: 62551281.

Data Error 3

Code Example

These appear to have changed ticker, which broke the price data. However the balance sheet data is still moving forward. url = "https://backend.simfin.com/api/v3/companies/prices/compact?id=113247" url = "https://backend.simfin.com/api/v3/companies/prices/compact?id=998412"

Data Output

113247 prices data stopped at 2024-01-09. Api ticker "ACRX". Actual ticker based on ISIN = "TLPH". 998412 prices data stopped at 2023-02-17. Api ticker = "ISR". Actual ticker based on ISIN = "CATX".

Data Error 4

Code Example

url = "https://backend.simfin.com/api/v3/companies/statements/verbose?id=13950756&statements=BS&period=Q1,Q2,Q3,Q4&start=2022-06-30" url = "https://backend.simfin.com/api/v3/companies/statements/verbose?id=13511386&statements=BS&period=Q1,Q2,Q3,Q4&start=2023-10-31"

Data Output

13950756 data stops at 2022-06-30, even though newer data is available in the sec.gov link 13511386 data stops at 2023-10-31, even though newer data is available in the sec.gov link

Data Error 5

Code Example

url = "https://backend.simfin.com/api/v3/companies/statements/verbose?id=13511386&statements=BS&period=Q1,Q2,Q3,Q4&start=2023-10-31&end=2023-10-31"

Data Output

"Other Short Term Liabilities": 4069000
"Liabilities from Derivatives & Hedging (Short Term)": 4069000
"Total Current Liabilities": 5213318
"Total Noncurrent Liabilities": 11504000
"Total Liabilities": 20855223
"Preferred Equity": null
"Liquidation Preference": no field?

should be

"Other Short Term Liabilities": 4095271
"Liabilities from Derivatives & Hedging (Short Term)": 4095271
"Total Current Liabilities": 5239589
"Total Noncurrent Liabilities": 15573000
"Total Liabilities": 20812589
"Preferred Equity": 21297669
"Liquidation Preference": 32143761

Have not checked older data, so fix may need backtracked. Also more fields may be wrong that i didn't look into.

Data Error 6

Code Example

url = "https://backend.simfin.com/api/v3/companies/statements/verbose?id=13511290&statements=BS&period=Q1,Q2,Q3,Q4"

Data Output

Most (all?) report dates seem incorrect. I.e

"Report Date": "2020-03-31",
"Publish Date": "2023-05-12",

should be

"Report Date": "2023-03-31",
"Publish Date": "2023-05-12",
thf24 commented 2 months ago

thanks for reporting. The share count problem is fixed for the specific company. This is an issue that can occur in rare cases if the company is reporting their share counts incorrectly in the XBRL data. We'll have a look at the other issues, seems like a few are for some relatively small companies that we recently added to the database, the work on these is ongoing so the data is not yet "approved" and is not appearing in e.g. the bulk download. In the web API there is also a flag for this, under "checks": "valueCheck". If this is false it means we are still working on the data as our system spotted some inconsistencies.

AnataBakka commented 2 months ago

valueCheck seems to mostly be "true". But i do see some "includedInBulkDownload : false", so that's a good exclusion check, thanks.