samedi 29 avril 2017

PERCO, PEE: Pourquoi la complexité fiscale française nous impose ces supports

PEE Mine d'or
Tous les ans, à la période ou les intéressements et participations sont versées, j'échange avec mes collègues et je suis surpris par la faible proportion de gens qui tirent parti des mécanismes de l'épargne salariale.

Il y a essentiellement deux raisons à cela qui proviennent de publics différents.  Chez certaines personnes cela relève d'une réticente  bien ancrée à bloquer une somme d'argent quelque soit les circonstances. Chez ces personnes, un tiens vaut mieux que deux tu l'auras. Et ils s'empressent de demander le versement de la participation/intéressement. Ce sont généralement des gens qui évitent les placements, et qui préfèrent l'épargne simple.

L'autre cas qui advient souvent est celui des investisseurs avisés, qui ont de multiples placements, et qui ont tendance à dévaloriser les PEE/PERCO sous prétextes que le supports offerts sur ces placements sont en général e mauvaise facture. Un fait que l'on ne peut pas discuter, les banques bénéficiant clairement du manque de concurrence sur ce secteur, en offrant des supports chargés en frais et ayant des performances très médiocres. 

J'ai même vu des gens arrêtés par ces considérations  alors que l'employeur offrait un abondement 

Malgré une offre de support souvent déficiente, J'arguerai que le avantages de ces placements dépassent largement leurs inconvénients.

Les avantages 

PEE et PERCO ont deux avantages: fiscalité et... une flexibilité que les épargnants ne soupçonnent souvent pas.

Tout d'abord en ce qui concerne l’intéressement et la participation, leur versement sur un PEE/PERCO les exonère de l’impôt sur le revenu à 'exception des prélèvements sociaux (CSG,CRDS). C'est ausi le cas pour le compte épargne temps.

Ensuite, en cas de déblocage des fonds seuls les prélèvements sociaux sont dus sur les plus-values.



Cas des versements volontaires

Pour les versements volontaires, il faut distinguer la fiscalité des versements et celle des capitaux.

Les versements volontaires ne sont pas exonérés de l'impôt sur le revenu suivant le barème progressif. L'abondement de l'employeur l'est. Toutes les sommes versées sont sujettes aux prélèvements sociaux.

La fiscalité des capitaux dans le cas d'un versement de capital est uniquement soumise aux prélèvements sociaux, ce qui mets le PERCO/PEE au même niveau que l'assurance vie au but de 8 ans avec la fiscalité actuelle

Il faut donc que le placement soit jugé avantageux en dehors de tout cadeau fiscal avant de miser sur des versements volontaires non abondés.

Conclusion

Au vu de ces avantages, je recommanderai à tous les salariés ui peuvent en bénéficier:
- Ne percevez jamais vos intéressements/participation en salaire. placez-les toujours dans PEE/PERCO.
- Maximisez toujours l'abondement de votre employeur. Mais refléchissez avant de faire des versements volontaires non abondés.





samedi 22 avril 2017

Réaction à chaud sur les élections présidentielles françaises de 2017: macron en tête

Élections françaises: considérations dans le désordre

Nous sommes au portes du premier tour des élections françaises, et les derniers sondages donnent le tiercé gagnant suivant: Macron (24%), Le Pen (23%), et Fillon et Mélenchon plus ou moins ex æquo à 19%. Le gain de vote pour marine ou tout autre candidat n'est pas encore visible dans ces sondages (et il ne le sera pas avant la fin du premier tour).

Vu de l'étranger, et notamment de États-Unis, cette élection est vue comme une élection à risque avec de gros enjeux... Alors que chez nous, on peut clairement dire qu'elle ne suscite l’excitation de personne.

Donald Trump 'est même fendu d'un tweet sur le sujet:
Comme d'habitude, Donald Trump prouve encore son ineptie. Comment l’Amérique a-t-elle pu tomber aussi bas ?

On peut affirmer que contrairement à ce qu'affirme ce tweet et les articles du New York Times, l'attentat de jeudi soir, n'aura pas ou peu d'impact sur ces élections. D'abord, depuis des mois, Marine Le Pen est données perdante du second tour quel que soit son opposant, on voit mal un simple attentat comme celui de jeudi changer quelque chose à ces résultats. Nous sommes malheureusement habitués à ces attentats, ce n'est pas comme si c'était le premier....
Je suis toutefois sidéré par la complaisance que les médias français ont eu à 'égard de la candidate du Front National. Le règles du CSA semblent trop rigides, elles donnent une exposition beaucoup trop importante aux candidats dominants. Le seul résultat de ce système, c'est que TF1 à fait la pub de Marine pendant toute la campagne et que c'est sensé être un gain pour la démocratie. J'en ai marre de voir Philippot au journal de 13 heure, je n'ai pas besoin d'avoir son avis. Et TF1 et France 2 ne devraient pas nous forcer à subir cet affront quotidien. Ce système de représentativité proportionnelle ne fait le bonheur de personne, il devrait favoriser les petits candidats.
Sur le plan des idées et programmes, on peut dire que rien de nouveau n'a vraiment emergé ddans le débat.

Et l'impact sur le marché action ?

Comme on pu le voir, les élections françaises ont frappé les esprits des médias internationaux.



Pour moi, les médias étrangers surestiment les chances de Marine Le Pen de gagner, comme dans cet article de Mohamed El Erian, Il y a donc une opportunité à saisir. Dans un marché parisien détenu en grande partie par des investisseurs étrangers, qui depuis plusieurs mois fait preuve d'une valorisation attractive selon plusieurs indicateurs et peut offrir potentiellement des rendements long termes sur 10 ans de 6.1%.

Au vu de tout ces considérations, j'ai pris une position sur le CAC 40  depuis 2 semaines. Quelque soit le candidat qui se retrouvera face à Marine Le Pen au second tour il l'emportera, et l'impact sera positif. Ce qui sera le cas même si Mélenchon l'emporte au premier tour (et peut-être au second si macron est éliminé), potentiellement suite à un report des votes Hamon vers Mélenchon,  du moins dans un premier temps:

 
vote mélenchon elections présidentielles
Dans ce scenario inédit, on aurait potentiellement un second tour Melenchon/Macron qui donnerait Macron gagnant. Pour les investisseurs étrangers, il s'agit certainement de la meilleure option.

Dans tous les cas, un pari gagnant.  Nous le sauront de manière certaine lundi.





lundi 17 avril 2017

Selection de variables predictives pour un algorithme de Machine learning du marché action

feature selection

Trouver le sous-ensemble de variables explicatives qui améliore la qualité de prédiction d'un modèle: un problème difficile.

Posons d'abord le problème en termes abstraits. Supposons que nous disposons de K séries temporelles X1...Xk que nous envisageons comme potentiels prédicteurs d'une variable d’intérêt Y que nous souhaitons prédire à un horizon donné. Étant donné que nous pouvons totalement ignorer l'ordre de ces variables (les permutations ne changent pas le résultats), si nous voulions étudier toutes les combinaisons possibles de N variables (N<K) il nous faudrait évaluer 2^K combinaisons de prédicteurs, ce qui devient rapidement inexploitable pour des problèmes non triviaux.


Et il y a bien pire, les scenarios suivants peuvent se produire:
-  Deux variables supposées redondantes peuvent être prédictives lorsqu'elles sont combinées.
- Une variable inutile par elle-même peut devenir prédictive quand elle est combinée à d'autres variables
- Deux variables inutiles peuvent devenir utiles quand elles sont combinées.
- Augmenter le nombre de variable peut conduire à de l'overfitting.

Pour illustrer chacun de ces points, je vous invite à  consulter An Introduction to Variable and Feature Selection.

Utilisation des indicateurs économiques


De nombreux indicateurs économiques ont été proposés au fil des ans pour expliquer les fluctuation du marché action. La qualité de ces prédictions ont depuis été mis en causes lorsque ces variables ont été réévaluées sur des échantillons ou des intervalles différents ou pour des questions méthodologiques. Un papier célèbre de Goyal & Welsh (PDF) arguent que parmi 50 variables identifiées, aucune ne fait apparaître les propriétés décrites dans les travaux publiés originalement. Cette évaluation a été largement critiquée (par exemple Campbell & Thompson). Et le débat continue...

Ces travaux académiques ont toutefois en commun d'utiliser des outils paramétriques et/ou Bayésien basé sur des relations linéaires entre le variables (Ordinary Least Square OLS, ARD, Ridge, elasticNet), sans s'aventurer sur des algorithme d'apprentissages non paramétriques comme les arbres de décisions (Boosted Trees, Random Forest) ou les réseaux de neurones (LTSM, GRU et autres NarX). 

La littérature sur l'application de ces méthode de machine learning reste largement marginale, alors même qu'elle est d'un intérêt certain pour le praticien car les outils du machine learning comme Keras ou Scikit-Learn sont devenus maintenant d'une simplicité d’accès remarquable.

Dans cet article, je me propose d'exposer ma démarche pour sélectionner les variables explicatives dans le cadre particulier de la prédiction des marchés financiers caractérisés par un ratio bruit/signal très élevé, et par une structure qui évolue dans le temps.


Les Trois approches pour la sélection des prédicteurs dans une démarche de machine learning: Filter, Embedded & wrapper

Sans aller chercher très loin , l'article Wikipédia sur la sélection de variable (feature selection en anglais) donne une vision assez complète  du paysage moderne de la sélection de variable explicative.

L'approche Filter

Ces approches se divisent en trois catégories:L'approche filter: On  utilise ici des outils statistiques ou liés à a théorie de l'information pour isoler les variables les plus significatives parmi un ensemble, et cela indépendamment de tout algorithme d'apprentissage. Scikit-learn propose des outils dans ce sens issus de l'indicateur d'information mutuelle pour les régressions.

J'en profite pour fortement recommander à tous ceux qui sont intéressés par cette approche, de consulter avec la plus grande attention les extensions proposées par l'université Arizona State University au sein d'un package d'extension à scikit-learn appelé scikit-feature. Ce package s’intègre parfaitement au framework scikit-learn.

Dans la pratique, dans le cadre de mon application, ces méthodologies, même les plus récentes (JMI,CIFE),m'ont proposé parfois des choix de variables explicatives assez étranges... J'aimerais que le choix des variables soit basé sur un raisonnement statistique, mais dans la pratique, les variables sélectionnées sont souvent peu informatives pour les algorithmes que j'utilise (ExtraTrees, LTSM) ni même pour des ensembles de ceux-ci. Les sélections de ces algorithme donnent des résultats assez décevant dan la cross-validation de time-series (TimeSeriesSplit).
 

L'approche Embedded

Il s'agit ici des méthodes de sélection de variable intégrées à  la construction d'un modèle.Les modéle proposant de pondérer les variables sont nombreux : Lasso, ElasticNet, Ridge, SVM, Extra Trees, etc.
Ces modèles peuvent être utilisés directement, ou via un algorithme de Recursive Feature Elimination (RFE ou RFECV).

Ici encore, les résultats ont été decevants. Dans on cas, les méthodes de RFE ont donné des resultats trés instables à travers les classes d'actifs, les modèles choisis ou même les paramètres de Cross-Validation.  Les méthodes basés sur l'algorithme LARS n'ont pas réussi à converger. Les arbres décisionnels donnent soit beaucoup trop de variables significatives soit pas assez. Aucun modèle ne donne le même résultats qu'un autre modèle. Il est possible que ces résultats décevants soit lié à ma méconnaissance des paramètres et modalités pratiques de ces méthodes.

Mais dans tous les cas, vu le temps que j'y ai passé, ce ne sont pas vraiment des outils triviaux à utiliser.

L'approche Wrapper


Dans mon expérience, la seule méthode qui fonctionne est celle que j'appellerai la méthode ad-hoc: Dans le sens, ou elle est basée sur des sélections qui sont aléatoires initialement, et qui sont renforcées en les modifiant de manière répétée jusqu’à qu'une bonne solution soit trouvée. Cette approche nécessite d'évaluer les propositions une à une avec une cross-validation reproduisant au plus prés le scenario d'utilisation des modèles choisis. Pour ma part, je fais ma cross validation comme suit: je découpe mes données en 16 intervalles via TimeSeriesSplit. Pour éviter des résultats aberrants sur les premiers intervalles, le premier tiers de ceux-ci sont utilisés dans le training uniquement. Je choisit un modèle d’évaluation de cross-validation qui fait a moyenne entre des arbres décisionnels (Extra Trees) et un NN simple (MLPRegressor).

Parcourir l'espaces des prédicteurs avec les algorithmes génétiques et la recherche tabou.

Pour cadrer mon approche Wrapper, J'ai étudié une librairie assez marginale et peu connue qui s'appelle PyNeurGen. Cette librairie se propose de combiner les approches des algorithmes génétiques et celles des réseaux de neurones en utilisant une binarisation des formes de Backus-Naur. Cette librairie m'est utile pour deux raisons principales: elle contient une implémentation d'un réseau NarX, et surtout elle me permet de générer une population aléatoire de sous-ensemble de variables prédictives, de les évaluer, et de combiner les meilleures solutions entre elles.

Dans la pratique, comme l'univers à explorer contient 2^k combinaisons, l'algorithme peut ne jamais conserver vers une bonne solution. Par ailleurs, comme les variables peuvent se neutraliser les unes les autres, ou produire des effets non intuitifs, les solutions combinées sont rarement aussi bonnes que les deux parents qui leur ont donné leur matériel génétique.

Les avantages de cette méthode sont de proposer un ensemble initial de solution quand  le problème n'a pas été défriché.

Souvent, au lieu de rechercher une ensemble de prédicteurs à partir de rien, il est plus intéressant de partir d'une bonne solution et de rechercher des solutions adjacentes qui sont meilleures que la solution initiale. C'est le cas notamment quand on a récemment élargi notre ensemble de prédicteurs avec de nouvelles variables. Dans ce cas, on peut vouloir étudier la performance d'une substitution ou d'un ajout d'une nouvelle variable en lieu et place d'une ancienne variable, ou vérifier si l'ajout d'une nouvelle variable ne rends pas redondantes les autres variables.

Pour ces situations, j'ai implémenté un outil de recherche d'optimum local basé sur une implémentation minimale de l'algorithme de Recherche Tabou.

En partant d'un sous ensemble de variables déjà évalué (une solution), a chaque itération de cet algorithme on évalue d'autres sous ensembles où une variable a été échangée, ajoutée ou soustraite de ma solution initiale. Cette méthode donne de bon résultats.

A terme, je compte étendre cet algorithme en lui permettant d'explorer des solutions ou des combinaisons non linéaires de variables qui seront ajoutées/substituées au variables existantes (produit, division, moyennes mobiles, etc).


samedi 1 avril 2017

Yahoo stocks API: données manquantes sur les etf depuis le vendredi 24 mars 2017

pandas datareader yahoo problem foreign stocks

Récupérer les données avec pandas datareader sur le marché français

Comme je l'ai déjà dit, je suis en train de monter un outil de machine learning pour mettre en place une plateforme d'allocation stratégique sur les etf du marché français.

Pour ce faire, je construit plus de 87 séries financières distinctes (techniques ou économiques),que je construis avec Quandl, la FED et Yahoo stock API.

Yahoo stock API est essentiel car il me permet de récupérer les valeurs journalières pour mes actifs de leur Open High Low Close Volume (OHLCV) sur un historique partant de 2005 (oui je sais c'est peu...) soit 3000 valeurs à peu prés.

Pour  être plus efficient, je ne récupère plus l'historique complet de mes actifs depuis 2005, mais je procède par incréments de date à date. De cette manière, je ne récupère que les données de la semaine en cours.

Techniquement, j'utilise depuis le départ pandas datareader pour cette tache. Qui me donne entière satisfaction mais qui a révélé ses limites au cours de l'incident actuel sur yahoo.

En effet, depuis le 23 mars 2017, les données yahoo sur tous les etfs (mais pas les actions) sont figées. Pas moyen de récupérer ces données, et donc toute ma chaine était bloquée.
cours historique etf Euronext manuant sur yaho stock depuis le 23 mars

Ayant déjà anticipé ce problème, je me suis immédiatement tourné vers Google stock API via pandas datareader. Mais je suis tombé sur un autre os: pandas ne récupère pas d'historique sur les marchés autre que uk ou us.

Heureusement, nous sommes en python, et les solutions ne manquent pas: Beautiful Soup !

Récupérer les derniers cours des etf via bs et pandas

Dans le code ci-dessous, je vais utiliser la librairie pandas et beautiful soup pour construire un outil récupérant le dernier historique d'une Série d'actifs sur Google finance API. Le code est self explanatory, je vous laisse le lire:


from datetime import datetime
import requests
import bs4
import pandas as pd

google_tickers=[ 
    'NRGW','ASI' 
    ]

def get_scraped_google_stock_prices(begin,end):
    data={}
    for ticker in google_tickers:
        print ticker,
        url = 'https://www.google.com/finance/historical?q=EPA:'+ticker
        req = requests.get(url)
        bs = bs4.BeautifulSoup(req.text,'lxml')
        div_price = bs.find(attrs={'class': 'gf-table historical_price'})
        df=pd.read_html(str(div_price),parse_dates=True,index_col=0,header=0)[0].sort_index().loc[begin:end]
        data[ticker]=df
        print 'fetched from: ',df.index.min(),', to:',df.index.max(),', ', len(df),' rows '
    pane=pd.Panel.from_dict(data,orient='minor')
    return pane

 
print get_scraped_google_stock_prices(datetime(2017,3,20),datetime(2017,3,30))


ce qui nous retourne:


Dimensions: 5 (items) x 9 (major_axis) x 2 (minor_axis)
Items axis: Open to Volume
Major_axis axis: 2017-03-20 00:00:00 to 2017-03-30 00:00:00
Minor_axis axis: ASI to NRGW

et voila.

Newsletter

Vous voulez suivre ce blog ?

Saisissez votre adresse email :

Flux RSS