[PYTHON] Cours des actions et statistiques (moyenne, écart type)

Obtenez le cours de l'action + α

Obtenez le cours de l'action + α de Financial Modeling Prep

def get_df_stock_screener(exchange):
       requests_cache.install_cache("stock-screener")
       url = f"https://financialmodelingprep.com/api/v3/stock-screener?marketCapMoreThan=100000&volumeMoreThan=100&dividendLowerThan=10&betaLowerThan=10&betaMoreThan=-10&exchange={exchange}&apikey={apikey}"
       response = requests.get(url)
       content = response.content.decode()
       json_content = json.load(StringIO(content))
       return pd.DataFrame(json_content).set_index("symbol")

requests_cache Enregistrer dans le cache en utilisant Comment accéder avec le cache lors de la lecture_json avec pandas

Stock Screener Utilisez stock-screener

[ 
    {
        "symbol" : "AAPL",
        "companyName" : "Apple Inc.",
        "marketCap" : 1382174560000,
        "sector" : "Technology",
        "beta" : 1.2284990000000000076596506914938800036907196044921875,
        "price" : 318.8899999999999863575794734060764312744140625,
        "lastAnnualDividend" : 3.0800000000000000710542735760100185871124267578125,
        "volume" : 51500795,
        "exchange" : "Nasdaq Global Select",
        "exchangeShortName" : "NASDAQ"
    }, 
    {
        "symbol" : "AMZN",
        "companyName" : "Amazon.com Inc.",
        "marketCap" : 1215457260000,
        "sector" : "Technology",
        "beta" : 1.5168630000000000723758830645238049328327178955078125,
        "price" : 2436.8800000000001091393642127513885498046875,
        "lastAnnualDividend" : 0,
        "volume" : 6105985,
        "exchange" : "Nasdaq Global Select",
        "exchangeShortName" : "NASDAQ"
    }
]

Sera retourné sous la forme de

Valeur bêta

Beta (finance)

r_a = \alpha + \beta r_b

$ r_a $ est le retour de l'action $ r_b $ est le retour du marché (par exemple S & P 500) $ \ beta $ est un facteur de rendement du marché Si $ \ beta = 2 $, une augmentation de 3% des rendements du marché augmentera les rendements des actions de 6%. $ \ Alpha $ est le retour d'actions non pertinentes de rendements de marché

lastAnnualDividend Dividende par action pour la dernière année

Calcul des statistiques

Création de DataFrame

df_stock_screener_nasdaq = get_df_stock_screener("nasdaq")
df_stock_screener_nyse = get_df_stock_screener("nyse")
df_stock_screener = pd.concat([df_stock_screener_nasdaq, df_stock_screener_nyse])

df_stock_screener["sector"].replace("", np.nan, inplace=True)
df_stock_screener.dropna(subset=["sector"], inplace=True)

df_stock_screener_target = df_stock_screener[["price","beta","lastAnnualDividend","volume"]]

Valeur manquante

le secteur peut être vide ETF semble être vide Il est plus facile d'interpréter si l'ETF est supprimé de la cible, alors supprimez-le dropna ne supprime pas les caractères vides, remplacez donc les caractères vides par nan

describe Vous pouvez obtenir des statistiques récapitulatives avec describe

df_stock_screener_target.describe()
               price         beta  lastAnnualDividend        volume
count    6153.000000  6153.000000         6153.000000  6.153000e+03
mean      130.651825     0.940899            0.589505  1.701368e+06
std      5257.505324     0.874763            1.033488  5.608641e+06
min         0.010000    -8.439448            0.000000  1.000000e+02
25%         5.730000     0.301854            0.000000  8.373300e+04
50%        13.770000     0.881456            0.000000  3.761930e+05
75%        34.160000     1.392074            0.840000  1.274612e+06
max    291621.000000     8.949109            9.680000  1.566431e+08

price La moyenne est de 130 USD, l'écart type est de 5257 USD, le maximum est de 291621 USD En raison de la présence de valeurs aberrantes, les statistiques n'ont guère de sens La taille du prix de l'action n'a pas de sens car le fractionnement d'actions peut être effectué arbitrairement.

beta La moyenne est de 0,94, l'écart type est de 0,87, le minimum est -8,43, le maximum est 8,94 La version bêta semble correcte en ce sens que la moyenne proche de 1 de sa méthode de dérivation correspond au marché

Dividende, nombre d'actions

Tant que le nombre d'actions est arbitraire, la comparaison de leurs valeurs absolues n'a pas beaucoup de sens.

Recommended Posts

Cours des actions et statistiques (moyenne, écart type)
2. Écart moyen et standard avec le réseau neuronal!
[Statistiques pour les programmeurs] Dispersion, écart type et coefficient de fluctuation
Statistiques jusqu'à la dispersion et l'écart type
Fuzzing et statistiques
"Création d'un ensemble de données sur le cours de l'action" et "Mise en œuvre de l'AR (1)"
[Statistiques] Premier "écart-type" (pour éviter d'être frustré par les statistiques)
[Python] Comment gérer inf et NaN à une moyenne numpy, écart type, maximum / minimum
Calcul de l'écart type et du coefficient de corrélation en Python
Calculer la moyenne, la médiane, la plus fréquente, la variance, l'écart type en Python
Prévision du cours de l'action 2 Chapitre 2
Prévision du cours de l'action 1 Chapitre 1