from otree.api import Currency as c, currency_range from ._builtin import Page, WaitPage from .models import Constants class Einführung(Page): pass class Kursentwicklung_T0_T1(Page): form_model = 'player' form_fields = ['Beliefs_1', 'buy_1', 'sell_1'] def buy_1_max(self): return Constants.endowment_cash / self.player.stock_price_1 def sell_1_max(self): return Constants.endowment_stock pass class Tweet_1(Page): form_model = 'player' form_fields = ['Beliefs_Tweet_1', 'buy_Tweet_1', 'sell_Tweet_1'] def buy_Tweet_1_max(self): return ((self.player.sell_1 - self.player.buy_1) * self.player.stock_price_1 + Constants.endowment_cash) / self.player.stock_price_1 def sell_Tweet_1_max(self): return self.player.buy_1 - self.player.sell_1 + Constants.endowment_stock pass class Kursentwicklung_T1_T2(Page): form_model = 'player' form_fields = ['Beliefs_2', 'buy_2', 'sell_2'] def buy_2_max(self): return ((self.player.sell_Tweet_1 - self.player.buy_Tweet_1 + self.player.sell_1 - self.player.buy_1) * self.player.stock_price_2 + Constants.endowment_cash) / self.player.stock_price_2 def sell_2_max(self): return self.player.buy_Tweet_1 - self.player.sell_Tweet_1 + self.player.buy_1 - self.player.sell_1 + Constants.endowment_stock pass class Tweet_2(Page): form_model = 'player' form_fields = ['Beliefs_Tweet_2', 'buy_Tweet_2', 'sell_Tweet_2'] def buy_Tweet_2_max(self): return ((self.player.sell_2 - self.player.buy_2 + self.player.sell_Tweet_1 - self.player.buy_Tweet_1 + self.player.sell_1 - self.player.buy_1) * self.player.stock_price_2 + Constants.endowment_cash) / self.player.stock_price_2 def sell_Tweet_2_max(self): return self.player.buy_2 - self.player.sell_2 + self.player.buy_Tweet_1 - self.player.sell_Tweet_1 + self.player.buy_1 - self.player.sell_1 + Constants.endowment_stock pass class Kursentwicklung_T2_T3(Page): form_model = 'player' form_fields = ['Beliefs_3', 'buy_3', 'sell_3'] def buy_3_max(self): return ((self.player.sell_Tweet_2 - self.player.buy_Tweet_2 + self.player.sell_2 - self.player.buy_2 + self.player.sell_Tweet_1 - self.player.buy_Tweet_1 + self.player.sell_1 - self.player.buy_1) * self.player.stock_price_3 + Constants.endowment_cash) / self.player.stock_price_3 def sell_3_max(self): return self.player.buy_Tweet_2 - self.player.sell_Tweet_2 + self.player.buy_2 - self.player.sell_2 + self.player.buy_Tweet_1 - self.player.sell_Tweet_1 + self.player.buy_1 - self.player.sell_1 + Constants.endowment_stock pass class Ergebnis(Page): pass page_sequence = [ Einführung, Kursentwicklung_T0_T1, Tweet_1, Kursentwicklung_T1_T2, Tweet_2, Kursentwicklung_T2_T3, Ergebnis, ]