def test_survey_simulation(year = 2005):
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()
    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame = input_data_frame,
        tax_benefit_system = tax_benefit_system,
        year = year,
        )
    simulation = survey_scenario.new_simulation()
    simulation.calculate('tva_taux_plein')

    return DataFrame(
        dict([
            (name, simulation.calculate(name)) for name in [
                'tva_taux_plein',
                'tva_taux_intermediaire',
                'tva_taux_reduit',
                'tva_taux_super_reduit',
                'ident_men',
                'pondmen',
                'decuc',
                'poste_coicop_611',
                'categorie_fiscale_7',
                'depenses_carburants',
                ]
            ])
        )
Beispiel #2
0
def run_survey_simulation(year = None):
    assert year is not None
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()
    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame = input_data_frame,
        tax_benefit_system = tax_benefit_system,
        year = year,
        )
    simulation = survey_scenario.new_simulation()
    simulation.calculate('tva_taux_plein')

    return DataFrame(
        dict([
            (name, simulation.calculate(name)) for name in [
                'tva_taux_plein',
                'tva_taux_intermediaire',
                'tva_taux_reduit',
                'tva_taux_super_reduit',
                'ident_men',
                'pondmen',
                'decuc',
                'poste_coicop_611',
                'categorie_fiscale_7',
                'depenses_carburants',
                ]
            ])
        )
def create_survey_scenario(year=None):

    assert year is not None
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame=input_data_frame, tax_benefit_system=tax_benefit_system, year=year
    )

    return survey_scenario
def simulate_df(var_to_be_simulated, year):
    """
    Construction de la DataFrame à partir de laquelle sera faite l'analyse des données
    """
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame=input_data_frame, tax_benefit_system=tax_benefit_system, year=year
    )
    simulation = survey_scenario.new_simulation()
    return DataFrame(dict([(name, simulation.calculate(name)) for name in var_to_be_simulated]))
def create_survey_scenario(year=None):

    assert year is not None
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame=input_data_frame,
        tax_benefit_system=tax_benefit_system,
        year=year,
    )

    return survey_scenario
def simulate(simulated_variables, year):
    '''
    Construction de la DataFrame à partir de laquelle sera faite l'analyse des données
    '''
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame=input_data_frame,
        tax_benefit_system=tax_benefit_system,
        year=year,
    )
    simulation = survey_scenario.new_simulation()
    return DataFrame(
        dict([(name, simulation.calculate(name))
              for name in simulated_variables]))
def simulate_df_calee_on_ticpe(simulated_variables, year):
    '''
    Construction de la DataFrame à partir de laquelle sera faite l'analyse des données
    '''
    input_data_frame = get_input_data_frame(year)
    input_data_frame_calee = build_df_calee_on_ticpe(input_data_frame, year, year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame = input_data_frame_calee,
        tax_benefit_system = tax_benefit_system,
        year = year,
        )
    simulation = survey_scenario.new_simulation()
    return DataFrame(
        dict([
            (name, simulation.calculate(name)) for name in simulated_variables

            ])
        )
def simulate_df(year = 2005):
    '''
    Construction de la DataFrame à partir de laquelle sera faite l'analyse des données
    '''
    input_data_frame = get_input_data_frame(year)
    TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()

    tax_benefit_system = TaxBenefitSystem()
    survey_scenario = SurveyScenario().init_from_data_frame(
        input_data_frame = input_data_frame,
        tax_benefit_system = tax_benefit_system,
        year = year,
        )
    simulation = survey_scenario.new_simulation()

    return pandas.DataFrame(
        dict([
            (name, simulation.calculate(name)) for name in [
                'montant_tva_taux_plein',
                'consommation_tva_taux_plein',
                'categorie_fiscale_11',
                'montant_tva_taux_intermediaire',
                'consommation_tva_taux_intermediaire',
                'montant_tva_taux_reduit',
                'montant_tva_taux_super_reduit',
                'montant_tva_total',
                'ident_men',
                'pondmen',
                'decuc',
                'age',
                'revtot',
                'rev_disponible',
                'ocde10',
                'niveau_de_vie',
                'consommation_totale',
                'decile',
                ]
            ])
        )
# -*- coding: utf-8 -*-
"""
Created on Mon Aug 17 18:20:34 2015

@author: thomas.douenne
"""

import pandas as pd
from pandas import concat

import openfisca_france_indirect_taxation

TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()
tax_benefit_system = TaxBenefitSystem()
legislation_json = tax_benefit_system.legislation_json


def get_tva_taux_plein():
    dict_tva_taux_plein = \
        legislation_json['children']['imposition_indirecte']['children']['tva']['children']['taux_plein']
    df_tva_taux_plein = pd.DataFrame.from_dict(dict_tva_taux_plein['values'])
    df_tva_taux_plein['start'] = df_tva_taux_plein['start'].str[:4]
    del df_tva_taux_plein['stop']
    df_tva_taux_plein = df_tva_taux_plein.set_index('start')
    df_tva_taux_plein = df_tva_taux_plein.transpose()
    for year in range(1968, 2015):
        try:
            df_tva_taux_plein['{}'.format(year)]
        except:
            df_tva_taux_plein['{}'.format(year)] = df_tva_taux_plein['{}'.format(year - 1)]
    df_tva_taux_plein = df_tva_taux_plein.transpose()
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.


import datetime
import json
import xml.etree.ElementTree

from openfisca_core import conv, legislations, legislationsxml

from openfisca_france_indirect_taxation import init_country


TaxBenefitSystem = init_country()


def check_legislation_xml_file(year):
    legislation_tree = xml.etree.ElementTree.parse(TaxBenefitSystem.legislation_xml_file_path)
    legislation_xml_json = conv.check(legislationsxml.xml_legislation_to_json)(legislation_tree.getroot(),
        state = conv.default_state)

    legislation_xml_json, errors = legislationsxml.validate_legislation_xml_json(legislation_xml_json,
        state = conv.default_state)
    if errors is not None:
        errors = conv.embed_error(legislation_xml_json, 'errors', errors)
        if errors is None:
            raise ValueError(unicode(json.dumps(legislation_xml_json, ensure_ascii = False,
                indent = 2)).encode('utf-8'))
        raise ValueError(u'{0} for: {1}'.format(
# -*- coding: utf-8 -*-
"""
Created on Mon Aug 17 18:30:39 2015

@author: thomas.douenne
"""

import pandas as pd
from pandas import concat

import openfisca_france_indirect_taxation

TaxBenefitSystem = openfisca_france_indirect_taxation.init_country()
tax_benefit_system = TaxBenefitSystem()
legislation_json = tax_benefit_system.legislation_json


def get_prix_carburants(liste_carburants):
    prix_carburants = None
    for element in liste_carburants:
        prix_dict = \
            legislation_json['children']['imposition_indirecte']['children']['prix_carburants']['children'][element]
        df_prix = pd.DataFrame.from_dict(prix_dict['values'])

        df_prix['start'] = df_prix['start'].str[:4]
        del df_prix['stop']
        df_prix = df_prix.set_index('start')
        df_prix.rename(columns = {'value': 'prix ' + element.replace('_', ' ')}, inplace = True)

        if prix_carburants is not None:
            prix_carburants = concat([prix_carburants, df_prix], axis=1)