from otree.api import * c = cu doc = 'Instructions, Demographics, Control phase' class C(BaseConstants): NAME_IN_URL = 'Beginning' PLAYERS_PER_GROUP = None NUM_ROUNDS = 1 class Subsession(BaseSubsession): pass class Group(BaseGroup): pass class Player(BasePlayer): gender = models.StringField(choices=[['Male', 'Male'], ['Female', 'Female'], ['Other', 'Other']], label='What is your gender?', widget=widgets.RadioSelect) age = models.StringField(choices=[['18-24', '18-24'], ['25-34', '25-34'], ['35-44', '35-44'], ['45-54', '45-54'], ['55-64', '55-64'], ['65 or older', '65 or older']], label='What is your age?') nationality = models.StringField(label='What is your nationality?') country_of_birth = models.StringField(label='What is your country of birth?') degree = models.StringField(choices=[['Graduate school (e.g. Masters, Ph.D., Post-doctoral degrees)', 'Graduate school (e.g. Masters, Ph.D., Post-doctoral degrees)'], ['University (Bachelors) ', 'University (Bachelors) '], ['High school', 'High school'], ['Below high school', 'Below high school'], ['Other', 'Other']], label='What is the highest level of educational degree that you hold?') employment = models.StringField(choices=[['Employed full-time', 'Employed full-time'], ['Employed part-time', 'Employed part-time'], ['Self employed', 'Self employed'], ['Unemployed but looking for a job', 'Unemployed but looking for a job'], ['Unemployed but not looking for a job', 'Unemployed but not looking for a job'], ['Retired ', 'Retired '], ['Student', 'Student'], ['Other', 'Other']], initial='Select here', label='Which of the following best describes your current employment status? ') inflation_definition = models.StringField(choices=[['value of money.', 'value of money.'], ['overall level of money wages.', 'overall level of money wages.'], ['overall price level of goods and services.', 'overall price level of goods and services.'], ['the long term interest rate.', 'the long term interest rate.']], label='', widget=widgets.RadioSelect) forecast_variable = models.StringField(choices=[['Future inflation ', 'Future inflation '], ['Future Interest rates', 'Future interest rates']], label='What variable will you forecast in each of the following exercises?', widget=widgets.RadioSelect) inflation_period = models.StringField(choices=[['Year 4 and Year 5. ', 'Year 4 and Year 5. '], ['Year 0 (the current year) and Year 5.', 'Year 0 (the current year) and Year 5.']], label='Suppose you are asked to forecast inflation in Year 5. This is the change in the price level between…', widget=widgets.RadioSelect) inflation_period_month = models.StringField(choices=[['Month 0 (the current year) and Month 2.', 'Month 0 (the current year) and Month 2.'], ['Month 1 and Month 2', 'Month 1 and Month 2']], label='Suppose you are asked to forecast inflation in Month 2. This is the change in the price level between…', widget=widgets.RadioSelect) opening_1 = models.StringField(choices=[['Never', 'Never'], ['Once a month', 'Once a month'], ['Once every other week', 'Once every other week'], ['Once a week', 'Once a week'], ['Multiple times a week', 'Multiple times a week'], ['Daily', 'Daily']], label='Which response option describes best how frequently you thought about inflation in the last 3 months? ', widget=widgets.RadioSelect) opening_2 = models.StringField(choices=[['Never', 'Never'], ['Once a month', 'Once a month'], ['Once every other week', 'Once every other week'], ['Once a week', 'Once a week'], ['Multiple times a week', 'Multiple times a week'], ['Daily', 'Daily']], label='Which response option describes best how frequently you saw/read/heard news about inflation in the last 3 months? ', widget=widgets.RadioSelect) opening_4 = models.StringField(choices=[['Myself', 'Myself'], ['My partner', 'My partner'], ['Someone else', 'Someone else']], label='Who among the members of your household is doing the most of grocery shopping? ', widget=widgets.RadioSelect) control_1 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) control_2 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) control_3 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) control_4 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) pnf_swe_inf_1 = models.FloatField(label='On average over the past 6 months, what has been the monthly rate of inflation in Sweden ? (Please enter the monthly inflation rate in percent. The number can have up to 2 digits after the decimal point.)', min=-1000) pnf_swe_inf_2 = models.StringField(choices=[['Higher today', 'Higher today'], ['About the same', 'About the same'], ['Lower today', 'Lower today']], label='Do you think that the inflation rate over the last 6 months is higher, lower, or about the same as inflation 6 months ago (from 12 months to 6 months ago)?', widget=widgets.RadioSelect) pnf_swe_inf_3 = models.FloatField(label='What is your best guess (forecast) of what inflation in Sweden will be in the next month? (Please enter the monthly inflation rate in percent. The number can have up to 2 digits after the decimal point.) ', min=-1000) pnf_swe_inf_4 = models.FloatField(label='On average over the past 12 months (a year), what has been the yearly rate of inflation in Sweden ? (Please enter the yearly inflation rate in percent. The number can have up to 2 digits after the decimal point.)', min=-1000) pnf_swe_inf_5 = models.StringField(choices=[['Higher today', 'Higher today'], ['About the same', 'About the same'], ['Lower today\t', 'Lower today\t']], label='Do you think that the inflation rate over the last 12 months is higher, lower, or about the same as inflation one year ago (from 24 months to 12 months ago)?', widget=widgets.RadioSelect) pnf_swe_inf_6 = models.FloatField(label='What is your best guess (forecast) of what inflation in Sweden will be in the next 12 months? (Please enter yearly inflation rate in percent. The number can have up to 2 digits after the decimal point.) ', min=-1000) treatment_1 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) treatment_2 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) treatment_3 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) treatment_4 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) opening_3 = models.StringField(choices=[['Through personal experience with rising prices of goods and services', 'Through personal experience with rising prices of goods and services'], ['Through media outlets such as newspapers, TV news, or online news sources', 'Through media outlets such as newspapers, TV news, or online news sources'], ['Through economic indicators published by governments and central banks', 'Through economic indicators published by governments and central banks'], ['Through discussions with friends, family, or colleagues', 'Through discussions with friends, family, or colleagues'], ['Other', 'Other']], label='How do you typically learn about inflation?', widget=widgets.RadioSelect) treatment_5 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) treatment_6 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) control_5 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) control_6 = models.FloatField(label='Please provide your inflation forecast for the upcoming year:', min=-1000) class Instructions(Page): form_model = 'player' class IntroDemographics(Page): form_model = 'player' class Demographics(Page): form_model = 'player' form_fields = ['gender', 'age', 'nationality', 'country_of_birth', 'degree', 'employment'] class OpeningQuestions(Page): form_model = 'player' form_fields = ['opening_1', 'opening_2', 'opening_3', 'opening_4'] class InflationIntro(Page): form_model = 'player' class InflationDefinitionQ(Page): form_model = 'player' form_fields = ['inflation_definition'] class InflationDefinitionCont(Page): form_model = 'player' class InstructionControl(Page): form_model = 'player' form_fields = ['forecast_variable', 'inflation_period'] class CorrectAnswers(Page): form_model = 'player' class PastAndFutureSwedenInflation(Page): form_model = 'player' form_fields = ['pnf_swe_inf_4', 'pnf_swe_inf_5', 'pnf_swe_inf_6'] page_sequence = [Instructions, IntroDemographics, Demographics, OpeningQuestions, InflationIntro, InflationDefinitionQ, InflationDefinitionCont, InstructionControl, CorrectAnswers, PastAndFutureSwedenInflation]