Class FuturesBacktestingAccount

java.lang.Object
io.runon.trading.backtesting.account.FuturesBacktestingAccount
All Implemented Interfaces:
io.runon.trading.account.Account, io.runon.trading.account.FuturesAccount

public class FuturesBacktestingAccount extends Object implements io.runon.trading.account.FuturesAccount
선물백테스팅 거래 계좌 레버리지 1배고정
Author:
macle
  • Field Details

    • cash

      protected BigDecimal cash
    • id

      protected final String id
    • positionMap

      protected final Map<String,io.runon.trading.account.FuturesPositionData> positionMap
    • symbolPrice

      protected SymbolPrice symbolPrice
    • minPrice

      protected BigDecimal minPrice
    • symbolQuantityPrecision

      protected final Map<String,Integer> symbolQuantityPrecision
    • scale

      protected int scale
    • priceScale

      protected int priceScale
    • buyFee

      protected BigDecimal buyFee
    • sellFee

      protected BigDecimal sellFee
  • Constructor Details

    • FuturesBacktestingAccount

      public FuturesBacktestingAccount(String id)
    • FuturesBacktestingAccount

      public FuturesBacktestingAccount()
  • Method Details

    • setCash

      public void setCash(BigDecimal cash)
    • addCash

      public void addCash(BigDecimal cash)
    • setSymbolPrice

      public void setSymbolPrice(SymbolPrice symbolPrice)
    • setMinPrice

      public void setMinPrice(BigDecimal minPrice)
    • setQuantityPrecision

      public void setQuantityPrecision(String symbol, Integer quantityPrecision)
    • getQuantityPrecision

      public int getQuantityPrecision(String symbol)
    • setScale

      public void setScale(int scale)
      AmountType DECIMAL 일떄만 사용
      Parameters:
      scale - default 6
    • setPriceScale

      public void setPriceScale(int priceScale)
    • setBuyFee

      public void setBuyFee(BigDecimal buyFee)
      구매 수수료 설정
      Parameters:
      buyFee - 구매수수료
    • setSellFee

      public void setSellFee(BigDecimal sellFee)
      판매수수료 설정
      Parameters:
      sellFee - 판매수수료
    • setFee

      public void setFee(BigDecimal fee)
      수수료 설정 구매수수료와 판매수수료가 같은경우 다른경우는 각각 설정
      Parameters:
      fee - 수수료
    • order

      public void order(String symbol, io.runon.trading.order.Order order)
    • buyAll

      public void buyAll(String symbol)
    • buy

      public void buy(String symbol, BigDecimal buyCash, BigDecimal price)
    • sellAll

      public void sellAll(String symbol)
    • sell

      public void sell(String symbol, BigDecimal sellCash, BigDecimal price)
    • close

      public void close(String symbol)
    • shortClose

      public void shortClose(String symbol)
    • shortClose

      public BigDecimal shortClose(String symbol, BigDecimal orderPrice, BigDecimal price)
    • buyPrice

      public BigDecimal buyPrice(BigDecimal price, BigDecimal quantity)
    • sellPrice

      public BigDecimal sellPrice(BigDecimal price, BigDecimal quantity)
    • longClose

      public BigDecimal longClose(String symbol, BigDecimal orderPrice, BigDecimal price)
    • longClose

      public void longClose(String symbol)
    • closePrice

      public BigDecimal closePrice(String symbol)
    • closePrice

      public BigDecimal closePrice(io.runon.trading.account.FuturesPositionData futuresPosition)
    • getId

      public String getId()
      Specified by:
      getId in interface io.runon.trading.account.Account
    • getAssets

      public BigDecimal getAssets()
      Specified by:
      getAssets in interface io.runon.trading.account.Account
    • getCash

      public BigDecimal getCash()
      Specified by:
      getCash in interface io.runon.trading.account.Account
    • getPosition

      public io.runon.trading.account.FuturesPosition getPosition(String symbol)
      Specified by:
      getPosition in interface io.runon.trading.account.FuturesAccount
    • setLeverage

      public void setLeverage(String symbol, BigDecimal leverage)
      Specified by:
      setLeverage in interface io.runon.trading.account.FuturesAccount
    • getLeverage

      public BigDecimal getLeverage(String symbol)
      Specified by:
      getLeverage in interface io.runon.trading.account.FuturesAccount
    • getAvailableBuyPrice

      public BigDecimal getAvailableBuyPrice(String symbol)
      Specified by:
      getAvailableBuyPrice in interface io.runon.trading.account.FuturesAccount
    • getAvailableSellPrice

      public BigDecimal getAvailableSellPrice(String symbol)
      Specified by:
      getAvailableSellPrice in interface io.runon.trading.account.FuturesAccount
    • getSymbolPosition

      public io.runon.trading.strategy.Position getSymbolPosition(String symbol)