#python
#python
Вопрос:
Я пытаюсь найти равновесие на рынке с заданной функцией спроса, фирма максимизирует свою прибыль, а правительство устанавливает акцизный налог, чтобы максимизировать налоговый доход. Я написал код для решения проблем максимизации, которые фирма и правительство используют для максимизации своей прибыли / налогов. Теперь я не уверен, каков следующий шаг для нахождения равновесия. Кто-нибудь может помочь мне со следующим шагом?
Я думаю, мне нужно определить фиксированную точку и использовать ее для решения проблемы равновесия. На занятиях, которые я проводил в своем университете, мы делали это только для равновесия Курно с несколькими фирмами. Я не уверен, как это сделать в этой ситуации с акцизным налогом, устанавливаемым фирмой и правительством. Позже я хочу добавить второй продукт (заменитель или дополнение) к модели, но мне нужно выяснить, как решить для равновесной цены и акцизного налога в этой более простой модели, основанной на лучших ответах в первую очередь.
Это код, который я написал, я ищу следующий шаг для решения проблемы равновесной цены и акцизного налога на основе их наилучших ответов.
from scipy import stats, optimize
alpha1 = 10
beta1 = -0.5
c1 = 0.5
def Q1(P1,t1):
return alpha1 beta1*P1*(1 t1)
def profits1(P1,t1,c1):
return Q1(P1,t1)*(P1-c1)
def taxes(t1,P1):
return Q1(P1,t1)*P1*t1
def reactionfirm1(t1,c1):
P1 = optimize.fminbound(lambda x: -profits1(x,t1,c1),0,100)
return P1
def reactiongovernment1(P1):
t1 = optimize.fminbound(lambda x: -taxes(x,P1),0,100)
return t1
Решение этого с помощью ручки и бумаги дает t1 = 3,73 и P1 = 2,36 (оба округлены).
Чтобы решить эту проблему с помощью ручки и бумаги, я сначала нахожу лучшие ответы фирмы и правительства. Для фирмы наилучший ответ можно найти, взяв первую производную от функции прибыли по отношению к P1, поставив ее равной 0 и записав P1 как функцию от t1. Что дает:
P1 = (10.25 0.25t1) / (1 t)
Аналогично, для наилучшего ответа правительства можно найти, взяв первую производную от налогового дохода по отношению к t1, поставив это равным 0 и записав t1 как функцию P1, что дает:
t1 = 10 / P1 -0,5
Чтобы найти P1 и t1, вы либо подключаете t1 к P1, либо P1 к t1 и решаете ее.
Итак, я подключил P1 к t1, чтобы получить:
t1 = (10 10t) / (10.25 0.25t) -0.5
Что дает t1 = 3,73
и, включив t1 = 3,73 в наилучший ответ фирм, я получаю P1 = 2,36
То, что я надеялся сделать с помощью Python, — это вычислить и решить наилучшие ответы фирмы и правительства, чтобы найти t1 и P1. Потому что я хочу расширить модель, что усложняет ее решение с помощью ручки и бумаги. Кроме того, имея его в python, будет легче изменить параметры alpha1, beta1 и c1, чтобы увидеть, как изменяются оптимальные значения P1 и t1.
Комментарии:
1. Вам нужно будет знать и предоставить алгоритм, который вы действительно хотите реализовать, чтобы получить помощь в этом. Наличие тестовых данных с вашим ожидаемым результатом также поможет вам намного лучше.
2. @KenSyme Спасибо за ваш отзыв. Я отредактировал свой первоначальный вопрос, чтобы объяснить, как я решаю его с помощью ручки и бумаги и какое решение я получаю (какой результат ожидается). Я надеюсь, что это прояснит то, что я хочу сделать в Python. Проблема в том, что я не уверен, как это закодировать на Python, поэтому я также не знаю алгоритм.
3. Честно говоря, я не уверен, как справиться с этим с места в карьер. На ум приходят два варианта — напишите еще две функции для вычисления производной от имеющихся у вас функций прибыли и налога, а затем используйте их для решения вашей проблемы. Или посмотрите на что-то вроде tensorflow или pytorch, которые, если вы можете написать свой алгоритм в их структурах, будут выполнять автоматическую дифференциацию и оптимизацию.