Топ комментариев за 24 часа

Beach Bunny, продолжение

class AdaptiveMomentumStrategy(bt.Strategy):
    """
    Trading strategy based on adaptive composite momentum.

    Entry:
        - go long when momentum crosses above the selected signal average
        - go short when momentum crosses below the selected signal average

    Signal average selection:
        On every bar the strategy tests candidate signal periods on a rolling
        lookback window. It scores historical crossings by the forward return
        after `score_horizon` bars and uses the period with the best score.

    Risk:
        Fixed percent stop-loss is applied to every position. Optional take
        profit and trailing stop can be enabled through params.
    """

    params = dict(
        price_period=5,
        momentum_periods=(8, 13, 21, 34),
        endpoint_window=4,
        pattern_window=3,
        momentum_smooth_period=5,
        signal_periods=(5, 8, 13, 21, 34),
        score_lookback=160,
        score_horizon=5,
        min_score_trades=4,
        stake=1,
        allow_short=True,
        reverse_on_signal=True,
        stop_loss=0.02,
        take_profit=None,
        trailing_stop=None,
        printlog=False,
    )

    def __init__(self) -> None:
        self.momentum = AdaptiveCompositeMomentum(
            self.data.close,
            price_period=self.p.price_period,
            momentum_periods=self.p.momentum_periods,
            endpoint_window=self.p.endpoint_window,
            pattern_window=self.p.pattern_window,
            smooth_period=self.p.momentum_smooth_period,
        )

        self.order = None
        self.entry_price: float | None = None
        self.stop_price: float | None = None
        self.take_price: float | None = None
        self.best_signal: SignalChoice | None = None

        max_signal_period = max(int(p) for p in self.p.signal_periods)
        self._min_ready = (
            max(self.p.momentum_periods)
            + int(self.p.endpoint_window)
            + int(self.p.pattern_window)
            + int(self.p.momentum_smooth_period)
            + int(self.p.score_lookback)
            + int(self.p.score_horizon)
            + max_signal_period
            + 5
        )

    def next(self) -> None:
        if self.order:
            return

        if len(self) < self._min_ready:
            return

        self.best_signal = self._select_signal_average()
        momentum_now = float(self.momentum[0])
        signal_now = self.best_signal.value

        if self._exit_by_risk():
            return

        crossed_up = self._crossed_up(momentum_now, signal_now, self.best_signal.period)
        crossed_down = self._crossed_down(momentum_now, signal_now, self.best_signal.period)

        if not self.position:
            if crossed_up:
                self.order = self.buy(size=self.p.stake)
            elif crossed_down and self.p.allow_short:
                self.order = self.sell(size=self.p.stake)
            return

        if self.position.size > 0 and crossed_down and self.p.reverse_on_signal:
            target = -self.p.stake if self.p.allow_short else 0
            self.order = self.order_target_size(target=target)
        elif self.position.size < 0 and crossed_up and self.p.reverse_on_signal:
            self.order = self.order_target_size(target=self.p.stake)

    def notify_order(self, order: bt.Order) -> None:
        if order.status in (order.Submitted, order.Accepted):
            return

        if order.status == order.Completed:
            executed_price = float(order.executed.price)

            if self.position.size > 0:
                self.entry_price = float(self.position.price) or executed_price
                self._set_risk_levels(direction=1)
                self.log(f"LONG {self.entry_price:.5f}")
            elif self.position.size < 0:
                self.entry_price = float(self.position.price) or executed_price
                self._set_risk_levels(direction=-1)
                self.log(f"SHORT {self.entry_price:.5f}")
            else:
                self.entry_price = None
                self.stop_price = None
                self.take_price = None
                self.log(f"FLAT {executed_price:.5f}")

            if order.isbuy():
                self.log(f"BUY fill {executed_price:.5f}")
            elif order.issell():
                self.log(f"SELL fill {executed_price:.5f}")

        elif order.status in (order.Canceled, order.Margin, order.Rejected):
            self.log(f"Order failed: {order.getstatusname()}")

        self.order = None

    def notify_trade(self, trade: bt.Trade) -> None:
        if trade.isclosed:
            self.log(f"TRADE PNL gross={trade.pnl:.2f}, net={trade.pnlcomm:.2f}")
            if not self.position:
                self.entry_price = None
                self.stop_price = None
                self.take_price = None

    def _select_signal_average(self) -> SignalChoice:
        choices = [
            SignalChoice(period=int(period), value=self._signal_value(int(period), 0), score=self._score_signal_period(int(period)))
            for period in self.p.signal_periods
        ]
        return max(choices, key=lambda choice: choice.score)

    def _score_signal_period(self, period: int) -> float:
        start_ago = int(self.p.score_lookback) + int(self.p.score_horizon)
        end_ago = int(self.p.score_horizon) + 1

        score = 0.0
        trades = 0

        for ago in range(start_ago, end_ago, -1):
            mom_prev = float(self.momentum[-ago - 1])
            mom_now = float(self.momentum[-ago])
            sig_prev = self._signal_value(period, ago + 1)
            sig_now = self._signal_value(period, ago)

            close_now = float(self.data.close[-ago])
            close_future = float(self.data.close[-ago + int(self.p.score_horizon)])
            if close_now == 0:
                continue

            forward_return = (close_future - close_now) / close_now

            if mom_prev <= sig_prev and mom_now > sig_now:
                score += forward_return
                trades += 1
            elif mom_prev >= sig_prev and mom_now < sig_now:
                score -= forward_return
                trades += 1

        if trades < int(self.p.min_score_trades):
            return float("-inf")

        return score / trades

    def _signal_value(self, period: int, ago: int) -> float:
        values = [float(self.momentum[-ago - i]) for i in range(period)]
        return sum(values) / period

    def _crossed_up(self, momentum_now: float, signal_now: float, period: int) -> bool:
        momentum_prev = float(self.momentum[-1])
        signal_prev = self._signal_value(period, 1)
        return momentum_prev <= signal_prev and momentum_now > signal_now

    def _crossed_down(self, momentum_now: float, signal_now: float, period: int) -> bool:
        momentum_prev = float(self.momentum[-1])
        signal_prev = self._signal_value(period, 1)
        return momentum_prev >= signal_prev and momentum_now < signal_now

    def _set_risk_levels(self, direction: int) -> None:
        if self.entry_price is None:
            return

        stop_loss = self.p.stop_loss
        take_profit = self.p.take_profit

        if stop_loss:
            self.stop_price = self.entry_price * (1 - direction * float(stop_loss))
        if take_profit:
            self.take_price = self.entry_price * (1 + direction * float(take_profit))

    def _exit_by_risk(self) -> bool:
        if not self.position or self.entry_price is None:
            return False

        close = float(self.data.close[0])

        if self.p.trailing_stop:
            trail = float(self.p.trailing_stop)
            if self.position.size > 0:
                trail_stop = close * (1 - trail)
                self.stop_price = max(self.stop_price or trail_stop, trail_stop)
            else:
                trail_stop = close * (1 + trail)
                self.stop_price = min(self.stop_price or trail_stop, trail_stop)

        if self.position.size > 0:
            hit_stop = self.stop_price is not None and close <= self.stop_price
            hit_take = self.take_price is not None and close >= self.take_price
        else:
            hit_stop = self.stop_price is not None and close >= self.stop_price
            hit_take = self.take_price is not None and close <= self.take_price

        if hit_stop or hit_take:
            reason = "STOP" if hit_stop else "TAKE"
            self.log(f"{reason} close={close:.5f}")
            self.order = self.close()
            return True

        return False

    def log(self, text: str) -> None:
        if self.p.printlog:
            date = self.data.datetime.date(0).isoformat()
            print(f"{date} {text}")


avatar
  • Вчера в 21:56
  • Еще

Сенкс чел! 
Я только что стырил твою стратегию, еще правда не проверил насколько хорошо это работает! 

 

from __future__ import annotations

from dataclasses import dataclass
from typing import Iterable, Sequence

import backtrader as bt


@dataclass(frozen=True)
class SignalChoice:
    period: int
    value: float
    score: float


class AdaptiveCompositeMomentum(bt.Indicator):
    lines = ("momentum",)
    params = dict(
        price_period=5,
        momentum_periods=(8, 13, 21, 34),
        endpoint_window=4,
        pattern_window=3,
        normalize=True,
        smooth_period=5,
    )

    plotinfo = dict(subplot=True)
    plotlines = dict(momentum=dict(color="tab:blue"))

    def __init__(self) -> None:
        periods = tuple(int(p) for p in self.p.momentum_periods)
        self._periods = periods
        self._smoothed_price = bt.ind.SMA(self.data, period=int(self.p.price_period))
        self.addminperiod(
            int(self.p.price_period)
            + max(periods)
            + int(self.p.endpoint_window)
            + int(self.p.pattern_window)
            + int(self.p.smooth_period)
            + 2
        )

        self._raw_values: list[float] = []

    def next(self) -> None:
        current_slope = self._slope(0, int(self.p.pattern_window))
        parts: list[float] = []

        for period in self._periods:
            endpoint_ago = self._best_endpoint(period, current_slope)
            old_price = float(self._smoothed_price[-endpoint_ago])
            cur_price = float(self._smoothed_price[0])

            if self.p.normalize:
                value = 0.0 if old_price == 0 else (cur_price - old_price) / old_price
            else:
                value = cur_price - old_price

            parts.append(value)

        raw = sum(parts) / len(parts)
        self._raw_values.append(raw)

        smooth_period = int(self.p.smooth_period)
        if smooth_period <= 1 or len(self._raw_values) < smooth_period:
            self.lines.momentum[0] = raw
        else:
            self.lines.momentum[0] = sum(self._raw_values[-smooth_period:]) / smooth_period

    def _best_endpoint(self, period: int, current_slope: float) -> int:
        pattern_window = int(self.p.pattern_window)
        endpoint_window = int(self.p.endpoint_window)

        best_ago = period
        best_error = float("inf")

        for ago in range(max(pattern_window + 1, period - endpoint_window), period + endpoint_window + 1):
            historical_slope = self._slope(-ago, pattern_window)
            error = abs(current_slope - historical_slope)
            if error < best_error:
                best_error = error
                best_ago = ago

        return best_ago

    def _slope(self, index: int, window: int) -> float:
        start = float(self._smoothed_price[index])
        end = float(self._smoothed_price[index - window])
        base = abs(end) if end else 1.0
        return (start - end) / base


avatar
  • Вчера в 21:56
  • Еще
Когда полетит, тогда и пиво откроем. А пока даже замены Ан-2 не видно.
У нас мастера байки людям травить и на подвиги поднимать.
А когда самих прижмет, то по заграницам щемятся, как крысы.

Серийное производство МС-21 перенесли на 27 год. А там глядишь и тот того.
А потом и этот этого, и забыли, а деньги, какие деньги?

С… ка, Чемезову 74 года, какие ему н… р самолеты??? Герой РФ, между прочим, но указ никто не видел, кроме ниго и того, кто медальку вешал.

Народ, кому вы вырите???

Жена Чемезова, цитируют с Хренопедии:
Вторая жена — Екатерина Игнатова. Владеет 70% ООО «Кате» — предприятия, получившего от «АвтоВАЗа» (на тот момент находившегося под контролем ГК «Ростехнологии»), по разным данным, от 300 до 500 млн рублей для разработки и организации производства автоматических коробок передач[47]. В 2012 году автозавод сообщил, что по итогам испытаний будет закупать АКПП у известного японского производителя Jatco[48]. До 2009 года была директором «Кате», затем числилась как безработная.

Вы считаете, что эти люди вам самолет сделают???
У них недвижимость по всему миру, а вы ждете, что они вам 500 самолетов за 2 года наклепают?

Сколько можно быть такими наивными?

avatar
  • Сегодня в 15:07
  • Еще
MoverSoft, в TradingBotPRO при наведении на названия колонок во вкладке Акции выходят короткие инструкции с вариантами заполнения.

Тикер, Кол-во шагов и Бюджет на шаг перешли из первоначальной таблицы Free Trading Bot.

Изм. цены, % и Коррекция, мин перешли из Настроек во вкладку Акции для установки индивидуальных значений для каждого тикера.

Стратегия – можно внести К или Н. К – классическая, продаем все что купили. Н – набор, продаем на сумму не больше выделенного бюджета умноженного на количество шагов чтобы в портфеле со временем оставались лишние акции. Например при бюджете 1000 рублей вы купили 12 акций по 78 рублей на 936 рублей, цена акции выросла до 95 рублей, бот выставит на продажу по стратегии Набор только 10 акций на сумму 950 рублей, так как если бы он выставил все 12 купленных акций, то это было бы 1140 рублей что превышает 1000 рублей выделенного бюджета. По итогу у вас в портфеле осталось бы 2 акции и 14 рублей прибыли.

Торги в сб и вс – разрешение торговать в выходные для тех или иных акций.

Новый день – если «вчера» у бота не было исполненных заявок на покупку, то «сегодня» бот не будет продолжать повышать цену заявки для закупки, а начнет торговать сначала. При этом если «вчера» была исполненная заявка на покупку и бот выставил заявку на продажу, которая не была удовлетворена, то «сегодня» бот перевыставит заявку на продажу по первоначальной цене с которой начинал «вчера» понижение цены продажи, заявка на покупку же продолжит расти от цены последней заявки на покупку предыдущего дня.

Прогрессия – это увеличение бюджета на шаг с увеличением количества шагов. 0 – без применения прогрессии, 1 – каждый следующий закуп больше на предыдущего на 1 бюджет (100, 200, 300, 400...), более 1 или менее 1, любое число, например 1.5, 2.2, 0.9, 13 – при этом каждое следующее изменение бюджета становится кратным введенному числу.
Пример при введенной 2: 100, 200, 400, 800...
Пример при введенной 1.5: 100, 150, 225, 337.5...
Пример при введенной 0.5: 1000, 500, 250, 125...

Автокоррекция – это разрешение роботу автоматически корректировать параметры «Изм. цены, %» и «Коррекция, мин». Подробнее как это работает описано в отдельном шаге курса в Битве настроек.

avatar
  • Сегодня в 07:44
  • Еще
Кстати, пацаны!
ПД-14 -это что такое? Говорят, что Перспективный Двигатель №14. 14 тонн значит. Делать начали в 2008 году, 18 лет уже назад )))
Те кто начали, уже в могилах, а те, кто продолжают, не понимают, почему они это начали.
Цитирую вам из Хренопедии, чтобы вы подумали своим мозгом и меньше верили всяким имбицилам:

Производство двигателей ПД-14 стартовало в январе 2020 года, в этом месяце первые пробные двигатели были поставлены на Иркутский авиазавод. На этот же год было запланировано завершение сертификации, а запуск серийного производства — на 2021-й год.

В 2023 году Объединенная двигателестроительная корпорация (ОДК, входит в «Ростех») сообщила, что планирует начать серийное производство двигателей в текущем году, а в 2030 году доведёт их выпуск до 160 штук[32].

Всего на конец октября 2023 года было изготовлено 8 двигателей ПД-14, а начало серийного производства было перенесено на 2024 год[33].

До ноября 2024 года Объединенная двигателестроительная корпорация (ОДК) передала заказчикам только два мотора ПД-14, хотя в октябре 2023-го генеральный конструктор «ОДК-Авиадвигатели» Александр Иноземцев докладывал Владимиру Путину о намерении выпустить в этом году 12 силовых установок ПД-14, а в 2025-м — 24. Планы на 2025 год сократились до семи единиц

Они их сделали меньше 10 штук мля всего!
И на чем этот ХЗ-21 летать собрался?

На батуте, как угорал один нынешний сенатор?

avatar
  • Сегодня в 15:58
  • Еще
Оля «Hare»… (заяц)..., газета туфта.ВЫ релиз Минфина смотрите.

Исполнение федерального бюджета за январь-апрель 2026 год

(предварительные данные)

млрд рублей

 

янв-апр

2026*

янв-апр

2025

%, г/г

утверждено законом

№ 426-ФЗ от 28.11.2025

ДОХОДЫ

11 721

12 279

-4,5%

40 283

НЕФТЕГАЗОВЫЕ ДОХОДЫ, в т.ч.:

2 298

3 727

-38,3%

8 919

  базовые нефтегазовые доходы

2 847

3 424

-16,8%

8 957

НЕНЕФТЕГАЗОВЫЕ ДОХОДЫ, в т.ч.:

9 423

8 552

+10,2%

31 365

  НДС (производство и импорт)

5 313

4 419

+20,2%

17 519

РАСХОДЫ

17 598

15 210

+15,7%

44 070

  государственные закупки

5 720

4 045

+41,4%

10 279

ДЕФИЦИТ

      ВВП

-5 877

-2,5%

-2 931

-1,4%

-2 946

-3 786

-1,6%

avatar
  • Сегодня в 15:31
  • Еще
Ниже приведено сравнение медианной заработной платы и цен на бензин марки АИ-95 в России за 2005 и 2025 годы.Зарплата и цены: 2005 vs 2025
Показатель [1, 2, 3, 4, 5, 6] 2005 год 2025 год Изменение
Медианная зарплата ~5 500 – 6 000 руб. ~73 400 – 74 000 руб. Рост в ~12,5 раз
Цена бензина АИ-95 ~17,92 руб./литр ~67,00 – 68,70 руб./литр Рост в ~3,8 раза
avatar
  • Сегодня в 05:34
  • Еще
Если все решили сберегать, то производители меньше продают, в результате объём производства сокращается, как и сами производства сужаются. Налоги подняли. Стимула к инвестициями нет — доверия нет, а как иначе — они переобуваются на лету. И кроме этого, ну куда вложить капитал, чтобы он работал эффективнее нынешнего сбережения — никуда. Никто не учитывает поведенческую экономику, в условиях катаклизмов доверие ещё ниже, нельзя менять экономические условия «игры», а наши властьимущие ещё больше это доверие подрывают, тем самым усугубляя фактор неопределённости на финансовых рынках, и в экономике в целом. Рынок опираясь на такую шаткую позицию увеличивает волатильность, в результате экономику шатает — а вы говорите — не расшатывайте лодку. Так Вы сами её и шатаете «товарищи»-чиновники со светлыми лицами.  А главное, за свои просчёты и тупость дерёте с народа в три шкуры. Ситуация будет ухудшаться, Вы допустили экономический спад, а внятной политики по выводу экономики из спада у вас нет (изменение ключевой ставки — это не политика). Ставку нельзя менять по пятницам, это не кран с водой, поставьте её 12-14% и держите. Государство должно стремиться обеспечить наименьший возможный уровень неопределённости, снизить экономические флуктуации, а вы —? Рост денежной массы должен соответствовать росту производства, а у вас на рынке недвижки навес x2, по дипозитам отношение = 2% (от 10 млн) к 98% (до 1 млн), по уровню ЗП разница аналогичная. Безработица на минимуме (людей тупо нет), а это значит, что работает количественный денежный принцип — вливание новых денег ведёт к росту цен(разгону инфляции), а не к росту объёма производства. Короче, полная жопа, и плана нет, детей Вам завтра мешок могу нашмалять только «незаменимые с тюбетейках», но боюсь от таких кадров экономике лучше не станет. Не является ИИР
avatar
  • Сегодня в 09:34
  • Еще
 Поэтому каждый раз, когда слышишь очередной крик «пузырь!» — стоит задать простой вопрос: а байбеки в расчёт брались?
Поэтому каждый раз, когда слышишь очередной крик «пузырь!» — стоит задать простой вопрос: что имееется ввиду? что вы называете пузырём?
Самый важный вопрос (влюбой сфере жизни) — договорённость по терминологии
Но падение на 20–30% не будет схлопыванием пузыря. Это будет обычная коррекция внутри нормально работающего рынка. При этом в 2008 году в акциях США не было пузыря, а до пузыря 2000-го года рынку нужно вырасти еще минимум на 50-70%.
Т.е., падение рынка на 20..30% — это нормально, арост на 50..70%  — это пузырь? 
Или пузырь, но если брать за образей рынок в 2000 году, а считать 50..70% вверх — от текущих уровней?
Вот видите, сколько «глупых» вопросов ))
А всё потому, что, как Вы сами же сказали, 
Скоро мне исполнится 34, и можно сказать, что практически половину жизни я провёл рядом с рынками. За эти годы понял одну важную вещь: нет никакой прямой корреляции между количеством проведённого на рынках времени и итоговой доходностью. Как нет её и между объёмом знаний и результатом.
Много про байбеки написали....
У Вас какое образование? В профиле этого нет. (наверное, правильно).
Как нет ничего и про специальность, профессию… Типа «финансовый консультант», управляющий (в фин.компании, инвесткомпании), аналитик в банке и т.д.
Всё-то у Вас просто… Это как у С.Блинова — «теперича вся сила в РДВ! увеличьте РДВ — и будет вами рост ВВП, ирост фондового рынка, и счастье в личной жизни»
Или как у Набиуллинной — «главное — снизить инфляцию ло 4%»…
avatar
  • Сегодня в 13:34
  • Еще
Сергей Нагель, прогнозную стоимость выше видели, или с этим проблемы? Или вам под каждым комментарием нужно копировать?
По поводу комфорта и надежности… Ну даже не знаю… С чем можно сравнить это...
По состоянию на май 2026 года, пассажирские самолеты МС-21 не эксплуатируются на регулярных коммерческих перевозках в авиакомпаниях. Таки что и с чем сравнивать?

За отсутствием серийного образца — говорить можно все что угодно...
Из практики, ни одно изделие, произведенное в СССР или РФ не было комфортабельнее или дешевле, чем конкуренты
Для примера, я путешествовал на Ласточке Москва-Минск… Ощущения паршивые: седушки не удобные, покрытие дешевое, словно в какой-нибудь 12-ке, пассажиры бьются локтями или торсом, если сидишь в проходе… Качка во время поездки, как при шторме в 3 балла, что способствует тому чтобы пассажиры беспокоили сидящих в проходе. Подставки под напитки еду — тихий ужас… И т.д… Любой современный состав США или ЕС, не говорю уже про Японию, фору даст...
+++ Заявленную скорость 160 км/ч ласточка не демонстрировала ни разу в обоих направлениях… 120 км или около того… Понимаю — речь о качестве путей РЖД… Но нафига козе баян, притом заложенный в стоимость поезда, если он простаивает из-за тех специфики условий...

С МС 21 не будет чуда… Если страна не может производить что-то простое, даже авто… С чего бы выпустить самолет лучше, чем конкуренты?!
avatar
  • Сегодня в 15:48
  • Еще
Сергей Нагель, тут каждого 2-го приходиться учить гуглить...
Испытываете затруднения, чтобы ознакомиться с причинами санкций США в отношении Китая?

Раз уж у вас проблема с финансово-экономической грамотностью придется помогать
Гранты бюджета (как Вы указали для ОАК) — это безвозмездные денежные средства (субсидии), выделяемые государством или уполномоченными фондами на конкурсной основе для реализации социально значимых, научных, образовательных или бизнес-проектов.

Налоговые льготы — это предусмотренные законодательством преимущества, предоставляемые государством отдельным категориям налогоплательщиков, позволяющие им не уплачивать налог или платить его в меньшем размере.

Нужно ли вам объяснять, что одно берется из средств бюджета (текущего периода), которые могли бы пойти на социалку или развитие страны или в льготы малому бизнесу… А другое, берется в меньшем объеме в следующем периоде, с конечного финансового результата… У Boing нет прибыли из-за нескольких проектов в том числе финансируемых НАСО.
По Airbus'у налоговые отчисления можете сами посмотреть 

И для вашего сведения, раз у вас проблемы с терминологией, как уже отмечал выше, дополню: кто такой агитатор?
Агитатор — это человек, занимающийся публичным распространением идей, взглядов, политических программ или призывов с целью убедить людей совершить определенные действия...
С моей стороны не было ни одного призыва… А мои взгляды являются оценочными суждениями
avatar
  • Сегодня в 16:06
  • Еще

Почему-то опять хочется затронуть малую толику бюджета и инфляции.)

Сфера услуг, включая торговлю это 60+% ВВП РФ.

Оборот торгового и интернет экварийнга в торговле и сфере услуг огромен, а средняя итоговая комиссия для бизнеса сейчас думаю порядка 2% с НДС с учетом применения льготных ставок от оборота, преференцированных MCC и системы QR.

Эти 2% комиссии состоят, грубо говоря, из 1,16% интерчейнджа(межбанковская комиссия в пользу банка-эмитента), НСПК(он же ЦБ) забирает 0,1-0,2%, 0,34 комиссии банка-эквайера и 22% НДС.

Субьектам МСП комиссия и вовсе сейчас обходится в 2,5+% безналичной выручки в пользу банков и госбюджета.

Основными оператором рынка эквайринга является СБ и, в том числе ВТБ, из которых государство налогами и дивидендами вынимает в бюджет добрую половину комиссии и 22% НДС напрямую.

Таким образом эквайринг является не просто одним из оборотных налогов, а попросту легализованным грабежом бизнеса и населения. Только населению иногда возвращают кэшбек.

Ну и разумеется в целом оборотная комиссия такого обьема это существенный проинфляционный фактор, вполне сопоставимый с повышением НДС на 2%, фактически налог с безналичных продаж.

Вот сидели вы в мастерской и усердно лепили глиняные горшки, а потом херак и у вас просто так отжали 2,5% вашего труда. При этом тот же годовой лимит выручки не уменьшается на размер комиссии и является базой для расчета и уплаты налогов.))

А потом вам повышают налоги и предлагают ваши же деньги кредитом под 25% годовых, да даже если под 10. И все платят и молчат...)

avatar
  • Сегодня в 02:55
  • Еще
2) Политика без неё не будет спекулятивных покупок, а продажи мы уже видели. Сейчас можно с уверенностью сказать, что США нам оказали медвежью услугу в переговорах и чтобы это лед действительно тронулся надо разговаривать с Европой и идти на уступки без этого деньги от нерезов не поступят. Да и Евроклир держит за яйца наших инвесторов.
Для роста рынка (именно всего рынка, чтобы было условно 3500 IMOEX) это необходимое условие.
Политико-экономических выборов сейчас 2:
1) Сокращаем кратно траты на СВО (заканчиваем/замораживаем), живём по средствам, сводим бюджет, инфляция в норме, сбалансированно растём, пытаемся вернуться в глобальный мир. Рост акций и потихоньку возвращение к норме.
2) Не сокращаем траты на СВО, делаем всё как раньше. Тогда придётся повышать и повышать налоги, буквально ежегодно, потому что налоговая база с ростом налогов будет падать. Ставку опускаем, таргет по инфляции меняем на условные 8%, потому что экономика заморозится. Не получится и инфляцию 4% иметь и вести всё расширяющуюся СВО, что-то из этого надо отметать. Роста рынка не будет, потому что через налоги и прочие вещи ресурсы по нарастающей нужно будет перераспределять на всё, связанное с СВО, а сами военные действия будут ещё активнее и будут хлопки и возгорания чаще, чем сейчас.
Выбор этот сделать придётся, судя по замораживающейся экономике, уже в этом году. Либо подчиняем экономику политике (целям СВО), либо подчиняем политику экономике.
avatar
  • Сегодня в 11:48
  • Еще
В правительстве РФ созрел план по систематизации внезапно свалившихся на госказну агроактивов.

На базе национализированных холдингов (включая кейс «Русагро» и ряд других «приземленных» в госсобственность гигантов) могут создать временный единый государственный агрохолдинг. Логика проста: управлять разрозненными кусками сельхоз-империй в ручном режиме министерствам недосуг, да и неэффективно. Проще свалить всё в один «мега-объект» под присмотром профильных замов.

Однако строить «советский колхоз 2.0» никто не собирается. Источники в финансовом блоке шепчут, что для Антона Силуанова этот госагрохолдинг — не более чем «предпродажная подготовка». У Минфина сейчас одна, вполне понятная и очень жесткая задача: Сбить активы в понятные лоты.Навести в них минимальный операционный порядок. Бюджет РФ, откровенно говоря, трещит по швам под давлением расходов на СВО. «Кубышка» не бесконечна, а налоги бесконечно задирать опасно.

Приватизация «новой волны» (изъятого через суды) рассматривается как один из ключевых источников «живых» денег. Так что нынешнее огосударствление — это лишь короткая остановка перед тем, как активы уйдут новым (или старым, но «правильным») владельцам по-взрослому. Деньги нужны фронту и тылу здесь и сейчас, а не в виде отчетов об урожаях госкомпаний.

INSIDER
avatar
  • Сегодня в 14:37
  • Еще
Сергей Нагель, 
Цена Boeing 737 MAX 8 составляет около $120 млн.
Цена Airbus A320neo примерно $110–120 млн.
Цена COMAC C919 составляет $99–108 млн.


Итоговой суммы нет… Рост цены на 65% — отличный показатель… Посмотрим какая будет конечная при попытке в конвейер и сколько будет производиться в конечном итоге...
И конечно же не забываем уровень зарплат:
1. Средняя зарплата в Boeing в США варьируется, но по состоянию на конец 2024–2025 гг. общий показатель часто оценивается около $119 000 – $135 000 в год (до вычета налогов). Зарплаты сильно зависят от должности: инженеры получают от $80k до $170k+, а после повышения зарплат в 2024 году, сборочные рабочие — около $119k в год.

2.Зарплата в Airbus сильно зависит от страны, должности и опыта. В Европе (Германия/Франция) инженеры начального уровня получают около €60,000–€70,000 в год, а опытные специалисты — €70,000–€80,000+. В Великобритании средние зарплаты варьируются от £27,500 до £66,000 в год.

Логика понятна, да? Там, ребятам достойно платят...
А какая доля ФОТ в конечном изделии МС 21??? Какая была бы цена МС 21, если бы инженерам и рабочим платили должным образом… Где деньги Карл?
avatar
  • Сегодня в 13:02
  • Еще
Василий, «перестанут продавать» меня всегда это изумляло.
С одной стороны есть производитель, которому выгодно продать свою продукцию.
С другой стороны есть потребитель, которому нужно купить именно этот товар.
Между ними могут быть посредники (логистика, банки и т.д.), которые увеличивают конечную цену для покупателя. Ситуация — все зарабатывают, все в выигрыше.
И мне сложно представить ситуацию, когда эта цепочка может развалиться по инициативе участников.
Но стоит между этими коммерсантами появиться прослойке чиновников (которую эти коммерсы на свои налоги и содержат!), как всё резко усложняется: появляются свои и чужие, какие-то искусственно придуманные правила и ограничения.

А насчет «всё делать самим» — это тоже не про нас. Ну нет у нас достаточного по размерам внутреннего рынка сбыта.
Когда вам надо мебель дома поменять, вы же не мебельную фабрику строите, а оплачиваете труд других людей, для которых изготовление мебели — основной вид деятельности.
Надо делать самим то что хорошо получается или что не выгодно возить откуда-то.
А если мы планируем разосраться с продацом, то хорошо бы предварительно найти другого продавца (или научиться делать самим).
Но это слишком сложно для людей, которые живут на наши налоги.
avatar
  • Сегодня в 20:03
  • Еще
список глав иностранных делегаций, прибывающих в Москву на празднование Дня Победы

Президент Республики Абхазия Бадра Гунба с супругой

Президент Республики Беларусь Александр Лукашенко

Президент Лаосской Народно-Демократической Республики Тхонглун Сисулит

Верховный правитель Малайзии султан Ибрагим

Председатель Правительства Словацкой Республики Роберт Фицо

Президент Республики Южная Осетия Алан Гаглоев

Президент Республики Сербской (Босния и Герцеговина) Синиша Каран

avatar
  • Сегодня в 11:30
  • Еще

Сенкс, чел! 

Сделал новенький индикатор из твоей формулы

 

import backtrader as bt


class WeightedPriceDelta(bt.Indicator):
    """
    Weighted average of price plus one-bar and two-bar price changes.

    Formula:
        Y = 0.75 * Sum((P(i) - P(i-1)) + P(i), n) / n
          + 0.25 * Sum((P(i) - P(i-2)) + P(i), n) / n
    """

    lines = ("y",)
    params = dict(period=14)

    plotinfo = dict(subplot=False)
    plotlines = dict(y=dict(color="tab:blue"))

    def __init__(self) -> None:
        period = int(self.p.period)
        if period <= 0:
            raise ValueError("period must be positive")

        one_bar_component = (self.data - self.data(-1)) + self.data
        two_bar_component = (self.data - self.data(-2)) + self.data

        one_bar_average = bt.ind.SumN(one_bar_component, period=period) / period
        two_bar_average = bt.ind.SumN(two_bar_component, period=period) / period

        self.lines.y = 0.75 * one_bar_average + 0.25 * two_bar_average
        self.addminperiod(period + 2)

avatar
  • Сегодня в 19:44
  • Еще
Сергей Нагель, 
Внезапно я немножечко шарю.










Так что на меня не действует многабукав:) Покажите сравнительную таблицу с другими двигателями вместо нескольких тысяч слов. И мой главный посыл был в том, что всё делается очень медленно, а не про технические характеристики.
avatar
  • Сегодня в 11:33
  • Еще
marion, конечно можно. Но я говорю о том, чем публику кормят по-умолчанию.
При этом ютуб-каналы российской позиции (RT и аналоги) у этих якобы «любящих плюрализм» «демократических сми»… заблочены.
Вот такие кривляния у этих клоунов. Надо ли тогда и нам в ответ подобные площадки банить — вопрос открытый. Китайцы давно запретили у себя столь беспардонное распространение антикитайской пропаганды. Мы только очухиваемся, давно теряя нашу неопытную молодёжь. Рискуем получить «1991й» два. Только после второго уже не вынырнем. В цифровой век собственный взгляд не сохранить. Тут уже работает подмена реальности. Ибо люди меньше смотрят по сторонам, чем в свои гаджеты. Сейчас ещё и ИИ начет отвечать «как надо». И мышеловка захлопнется. Хозяином её будет именно тот, кто обладает самой мощной техрической базой и средствами на её постоянное доразвитие. А это, увы, не мы. А цифровой мир не подчинён страновым границам. Прекрасные вводные для следующего витка неоколониализма. А значит и возврату неэквивалентного обмена, автгматически делающего перекос лишь усиливающимся.
avatar
  • Сегодня в 02:03
  • Еще
....все тэги
UPDONW
Новый дизайн