Equity multiples add symbol data field (#5800)

* add symbol data field

* cleanup

* remove limit param from standard model

* remove limit from equity integration test

* re-recrod fmp and intrinio fetcher tests
This commit is contained in:
Pratyush Shukla
2023-11-28 02:19:17 +05:30
committed by GitHub
parent 9716b21d6c
commit e0b491178a
6 changed files with 37 additions and 34 deletions

View File

@@ -6,16 +6,16 @@ from pydantic import Field, field_validator
from openbb_core.provider.abstract.data import Data
from openbb_core.provider.abstract.query_params import QueryParams
from openbb_core.provider.utils.descriptions import QUERY_DESCRIPTIONS
from openbb_core.provider.utils.descriptions import (
DATA_DESCRIPTIONS,
QUERY_DESCRIPTIONS,
)
class EquityValuationMultiplesQueryParams(QueryParams):
"""Equity Valuation Multiples Query."""
symbol: str = Field(description=QUERY_DESCRIPTIONS.get("symbol", ""))
limit: Optional[int] = Field(
default=100, description=QUERY_DESCRIPTIONS.get("limit", "")
)
@field_validator("symbol", mode="before", check_fields=False)
@classmethod
@@ -29,6 +29,7 @@ class EquityValuationMultiplesQueryParams(QueryParams):
class EquityValuationMultiplesData(Data):
"""Equity Valuation Multiples Data."""
symbol: str = Field(description=DATA_DESCRIPTIONS.get("symbol", ""))
revenue_per_share_ttm: Optional[float] = Field(
default=None,
description="Revenue per share calculated as trailing twelve months.",

View File

@@ -917,7 +917,7 @@ def test_equity_price_historical(params, headers):
@pytest.mark.parametrize(
"params",
[({"symbol": "AAPL", "limit": 100, "provider": "fmp"})],
[({"symbol": "AAPL", "provider": "fmp"})],
)
@pytest.mark.integration
def test_equity_fundamental_multiples(params, headers):

View File

@@ -863,7 +863,7 @@ def test_equity_price_historical(params, obb):
@pytest.mark.parametrize(
"params",
[
({"symbol": "AAPL", "limit": 100, "provider": "fmp"}),
({"symbol": "AAPL", "provider": "fmp"}),
],
)
@pytest.mark.integration

View File

@@ -117,7 +117,9 @@ class FMPEquityValuationMultiplesFetcher(
url = create_url(
3, f"key-metrics-ttm/{symbol}", api_key, query, exclude=["symbol"]
)
return data.extend(get_data_many(url, **kwargs))
response = get_data_many(url, **kwargs)
response[0]["symbol"] = symbol
return data.extend(response)
with ThreadPoolExecutor() as executor:
executor.map(multiple_symbols, query.symbol.split(","), repeat(data))

View File

@@ -9,31 +9,31 @@ interactions:
Connection:
- keep-alive
method: GET
uri: https://financialmodelingprep.com/api/v3/key-metrics-ttm/AAPL?apikey=MOCK_API_KEY&limit=100
uri: https://financialmodelingprep.com/api/v3/key-metrics-ttm/AAPL?apikey=MOCK_API_KEY
response:
body:
string: !!binary |
H4sIAAAAAAAAA5VWy27jNhTdz1cEs24IkpfP7vKYaWcx9TRjFCiKLmSJSYTYkkvJngZF/71HEalI
TgJM4wQI4HN5X+cc8o93Z2f/4O/s7H0Mx9AcwpcQv94XMazXn9//eCYVU9px5aTg5BS36ocR3YT+
U1O2uxO8YZyMdkZ4K4TUPMPbfYhFXzd3V0V3/3HbfluGWSY5CZKee6lIcZ3CbmMIr0cYpoik5cbh
472XKaIEeokk5h0nzQUpq7iUGblp24ffiu1px8QceeOFE1o7Jbk0Cd8XzV292YbL/xnXDZj7dluF
2H3461D3j98ZWDd9iKHrr8Omfzku7o3xVnk3LCZF7Ir4EPqrYp+WZ70RFuvwzuaJhuHQfay78NRD
AjprseMFcB9usLA2ATwz0horjbOo0RubUbEuw7r9WmxDN8OjQCcxdu2t08Jyn+FteRtnxyoGmLIE
egmuQYCMuy1v5+ktM86p4TwtrTI0pd/MUMowbb3UXggQT5DIoP57UOGY2sgdKE9GCi0wZa6mDk7m
tzqG+OHy0/r6IlVKzHrtFWGnwkIBs9NXpxpIIZoppcijLQl+klGzmI8zAeRdMeU8VqCVcE6Y5xRF
bHB493sdttWI5VAjWQ3OeymNpOdFzIV1EmCEMAJ1uGHZJlOrAgnX7cjfESuYE8Q1WSmIvBQTc0bo
RdeFvsvHkgQThdfGCMKpJnMcNnI9njwbImcG63YO9PXOE+KyuA8xYgGzbXKIW2gMQUmNabuJGVk8
Vy02VNxlonvmMGZgYVBKaaUn+OBlvx6K7aw/4bERw70mlPGsy6o+1lVoquXcuJbQL2SpQWSUTK+h
IeMSDUz1cPZG1L54bA/LRgVoa2HFg+K5MipDu4G0P4UGbW4vmuqi2tVN3fUD1Y6Q5s1o6+mUFIPJ
gC7lPfDX+H4Le96hrlM049Yoj2FZSA5sdvQ83eSG3bpdtz0yz9c9efE+/P0m78/REh/8xHHpnDHY
ol8GLoo5H7gpFBipjJRcG6VpCb8O+xjKephZk2IEYjiqV1pj12JiR9e35cNl0YXqqt3tQ9ONQS/a
l5YEclksx0juXabAXSzui90vh90mxMQsCRs3FirGpeStzpliW5fTrg1xNSzZQSyQ2LSM/hCbVbNO
I10qB0bqiPRAQG3lpPZUQejxm5sVTAnjiBsOP/dCZSP51saHp/Hva2wqoSVq4U8/CdXP088uB4Mp
LJEQ7dWoxFPsudB4KOgFum6O0CEmPU//pnkUo1xvQhnqY7GZ/Bg2BonPz03IL8XjDKbwUpH8Fdgn
VNH0bUzitpjU4rSqeOye7H916DuMosLAcmYmNcEGCOUK/DeLyMlfBFnHNIeLcSsHo3GzmNXtVMuq
+RlBaSKS0XAxycGpDeiR2R1nowBPBj8bIzyuGtzboJ2WMKqcY58HsgArBiVLXPFaePje9GSop7ks
4DBKjXK4V9JCnW56yMU25A0OBwo8W3BJ2hPtLp8rkK6Fk5uhN7KES/fEG5dweHrONl4ln5fPmsEI
PHfQEa5aXCsE7wD833d//gc6H2mEzgoAAA==
H4sIAAAAAAAAA5VWTW/bRhC951cYOTfEfs9sb/5IWh9SpY5QoCh6oKi1TVgi1SWl1Cj63/vW4lKk
4gCpIJ30ZnbmzXuz+8ebi4t/8Lu4eBvDITT78CnEz49lDMvlx7c/XihTWBLGKDIspRX+hyO4Cf1t
U7XbM7grlCS2moV0kmkAt7sQy75uHq7L7vHDpv0yD6JCsNPGsRXE3rIbwu5jCK9HuEKzZiW1k6Q0
OTtEVEDPkbrwxnoghDTWSplLWrXt02/l5rxdwJHYKeOlUVI6PcD7snmoV5tw9f/CugR5bDfrELv3
f+3r/vn74uqmDzF0/U1Y9edcadJGsDUsFAvO89iW8Sn01+VuGJu3WjAmIbVXAySkpLtYd+Glg6EC
oXGymAF34Q7TajOgsJqEw5laCYzVZFSsq7BsP5eb0E3wVEAujpg9eUUyd7Rrq/t4QilXkDeGlXcs
nVN6PPu+up9kU75w1igjpEVLTnnOuNUEZahwTgqtLAsLTWQB7frvQYXD0EVuwGMQYE9ITIaNeZ2+
xSHE91e3y5vL0SgkjffEUgmHxibZF+f6H0KoSBQYYSUOIuJJyIeJ9sdBwCJs2TtSSo+aD2VskLr7
vQ6b9REqCnRJhoTHKBSdpjB11Blek5LeQw2C8M3VryHAZXuU7hErC2KyiUT4ib2RPINedl3ou5xW
Y2M4L8h6rdnrzDiWx80x8YRAgenA/8pj2OQhyEx8tY8R5E8mKWAbjEc6kkitPGUusm+uW0ynfMg7
zBfCKaG9RMVOOEcjPG2wX/flZtIejOCItEgWIqBze/WhXodmPadNWAGqk2A8RqK1fw0NB1doYKwH
jppFjY4qn9v9vE9pDWbIHs4zZFTus0ty/Sk0aHJz2awv19u6qbs+iewAT94dN/mQZIgBL5BK9Qj8
Df7fYClvUdU5usAM0omUFoIwp40Pbocl2C3bZdvj5Omsxw28C39/U/HvkN57qSl1ZJTA4pnHzWpJ
aMUYsBaCHGtLZOfwm7CLoaoTY80Y47HL2Dh4BR62p13ct9XTVdmF9XW73YWmO0Z91b5i5TTCHHSi
tPRZAA+xfCy3v+y3qxAHXenCCfgXdxFZiX2cmW7rapy0UygEqsbCsWK8EWPo97FZNMuB0rltFIF2
1gZVEDkzdj2UEHp8h3alTOvZ4MaFGVPteVxf2vj0wv+uxqgyGhoSL58B1U/Pn1wLTknjZkh49vpo
xHPsO0CZ5AxdNwfYEFRPj//m6iiPbr0LVagP5WpcxbAJWzvNOyA/lc9TmHED6gx2iyqavo2Dtx2b
eZXr8rl72fyLfd+BijUIG1IyfGCdYcgI7Eo/iciHfxUkBW61RBzD3dLQKL0Utbgfq1k0PyMsx+Ai
lMrjCZCCIJJRIScyIJW00IYuClxKXjipDATC0+3xCloXyWZ4k+EKx2NJnDZlpmYO1wUrqN/BaxIC
kKOkQ55hWtIGW93jRk6vgqkj528VeJGEsgpvFdRr8V7LDsnrcY5P1s2Al+vh4/xRk64pQhOW8AZy
GDproP998+d/uXYPVsUKAAA=
headers:
Access-Control-Allow-Credentials:
- 'true'
@@ -53,9 +53,9 @@ interactions:
Content-Type:
- application/json; charset=utf-8
Date:
- Mon, 16 Oct 2023 12:22:35 GMT
- Mon, 27 Nov 2023 20:32:11 GMT
ETag:
- W/"ace-qo4EfftD/Wv172+kwII3ArKIAZQ"
- W/"ac5-TK5uSKDDH1MDw8JW4fhrs39OVhQ"
Server:
- nginx/1.18.0 (Ubuntu)
Transfer-Encoding:

View File

@@ -9,11 +9,11 @@ interactions:
Connection:
- keep-alive
method: GET
uri: https://api-v2.intrinio.com/companies/AAPL/insider_transaction_filings?api_key=MOCK_API_KEY&end_date=2023-11-27&page_size=100&sort_by=updated_on&start_date=2018-11-27
uri: https://api-v2.intrinio.com/companies/AAPL/insider_transaction_filings?api_key=MOCK_API_KEY&end_date=2023-11-28&page_size=100&sort_by=updated_on&start_date=2018-11-28
response:
body:
string: !!binary |
H4sIAOtoZGUAA+xda1McybH9Kx188RcxqsrMek2EP4wQQkjAKADtWr7hUHDRaIUXgS4g7cqO/e+3
H4sIAN78ZGUAA+xda1McybH9Kx188RcxqsrMek2EP4wQQkjAKADtWr7hUHDRaIUXgS4g7cqO/e+3
el4gQTVMU49+lGO9lgVDDdMns/Lk4+R/164ujs4uj46vTs7P3n88OT05++1ybfg//12b/fn9h6Or
ydpwDRjgOufrwA65HiIfAh8wxv659mTxjV8vTu33fbq6+nI5fPr0jz/+GFxOjge/nX97Oro4/nTy
bXL5dPLht6OLp/YnHj1FYNzgU/sj2OyPgPaPnPOnf16evkAS/2Di6R+/r388v/hM77liTNjvkGrw
@@ -195,7 +195,7 @@ interactions:
Content-Type:
- application/json
Date:
- Mon, 27 Nov 2023 10:01:15 GMT
- Mon, 27 Nov 2023 20:32:30 GMT
Transfer-Encoding:
- chunked
Vary: