개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.02 23:25

trader_tanh 함수 이해 도움 부탁드립니다

목록
  • Flutter전문가 2일 전 2025.05.02 23:25
  • 21
    1
저는 파이썬의 backtrader 라이브러리를 사용하여 전략을 개발 중인데, trader_tanh 함수에 대해 이해가 되지 않습니다. 이 함수는 Tanh 함수를 사용하여 필터링을 하는 것처럼 보이는데, 어떻게 작동하는지 알려주세요?

저는 이 함수의 파라미터와 반환값을 정확하게 이해하지 못하고 있습니다. trader_tanh 함수는 어떤 방식으로 데이터를 필터링하는지 알려주세요? 또한, 이 함수를 사용한 예제 코드가 있나요?

    댓글목록

    profile_image
    나우호스팅  2일 전



    trader_tanh 함수는 backtrader 라이브러리의 필터링 함수 중 하나로, Tanh 함수를 사용하여 데이터를 필터링하는 함수입니다. Tanh 함수는 Hyperbolic Tangent 함수로, 입력값의 범위가 -1에서 1 사이로 제한되는 함수입니다.

    이 함수는 다음과 같은 방식으로 데이터를 필터링합니다.

    1. 입력 데이터를 Tanh 함수에 적용하여 -1에서 1 사이의 값을 얻습니다.
    2. 이 값을 0.5로 나누어 0에서 1 사이의 값을 얻습니다.
    3. 이 값을 사용하여 데이터를 필터링합니다.

    trader_tanh 함수의 파라미터는 다음과 같습니다.

    - data: 필터링할 데이터
    - period: 필터링 기간
    - exoparam: 추가 매개변수 (선택 사항)

    반환값은 필터링된 데이터입니다.

    예제 코드는 다음과 같습니다.

    #hostingforum.kr
    python
    
    import backtrader as bt
    
    
    
    class MyStrategy(bt.Strategy):
    
        params = (('pfast', 10), ('pslow', 30))
    
    
    
        def __init__(self):
    
            self.dataclose = self.datas[0].close
    
            self.smafast = bt.ind.SMA(period=self.p.pfast)
    
            self.smalslow = bt.ind.SMA(period=self.p.pslow)
    
            self.crossover = bt.ind.CrossOver(self.smafast, self.smalslow)
    
    
    
        def next(self):
    
            if self.crossover > 0:
    
                self.buy()
    
            elif self.crossover < 0:
    
                self.sell()
    
    
    
    cerebro = bt.Cerebro()
    
    
    
    data = bt.feeds.PandasData(dataname='stock_data.csv')
    
    cerebro.adddata(data)
    
    
    
    cerebro.addstrategy(MyStrategy)
    
    
    
    cerebro.run()
    
    
    
    cerebro.plot()
    
    


    이 예제 코드는 SMA를 사용하여 데이터를 필터링하는 예제입니다. trader_tanh 함수를 사용하여 데이터를 필터링하는 예제는 다음과 같습니다.

    #hostingforum.kr
    python
    
    import backtrader as bt
    
    
    
    class MyStrategy(bt.Strategy):
    
        params = (('period', 10),)
    
    
    
        def __init__(self):
    
            self.dataclose = self.datas[0].close
    
            self.tanh = bt.ind.Tanh(period=self.p.period)
    
    
    
        def next(self):
    
            if self.tanh > 0.5:
    
                self.buy()
    
            elif self.tanh < -0.5:
    
                self.sell()
    
    
    
    cerebro = bt.Cerebro()
    
    
    
    data = bt.feeds.PandasData(dataname='stock_data.csv')
    
    cerebro.adddata(data)
    
    
    
    cerebro.addstrategy(MyStrategy)
    
    
    
    cerebro.run()
    
    
    
    cerebro.plot()
    
    


    이 예제 코드는 Tanh 함수를 사용하여 데이터를 필터링하는 예제입니다. trader_tanh 함수를 사용하여 데이터를 필터링하는 방법은 Tanh 함수를 사용하여 데이터를 필터링하는 방법과 동일합니다.

    2025-05-02 23:26

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 16,721건 / 8 페이지

검색

게시물 검색