Skip to content

Commit

Permalink
Simplified account interface 2
Browse files Browse the repository at this point in the history
  • Loading branch information
jbaron committed Jul 10, 2024
1 parent 61244d3 commit d64e517
Show file tree
Hide file tree
Showing 32 changed files with 21 additions and 834 deletions.
1 change: 0 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
<module>roboquant-jupyter</module>
<module>roboquant-alpaca</module>
<module>roboquant-polygon</module>
<module>roboquant-xchange</module>
<module>roboquant-server</module>
<module>roboquant-questdb</module>
<module>roboquant-ssr</module>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ class AlpacaBroker(


private val alpacaAPI: AlpacaAPI
// private val handledTrades = mutableSetOf<String>()
private val logger = Logging.getLogger(AlpacaBroker::class)
private val orderPlacer: AlpaceOrderPlacer

Expand Down Expand Up @@ -222,39 +221,6 @@ class AlpacaBroker(
return Position(asset, size, pos.avgEntryPrice.toDouble(), pos.currentPrice.toDouble())
}

/**
* Sync the trades from the Alpaca account with the roboquant internal account
private fun syncTrades() {
val now = ZonedDateTime.now()
val accountActivities = alpacaAPI.accountActivities().get(
now, null, null, SortDirection.ASCENDING, 100, "", ActivityType.FILL
)
logger.debug { "Found ${accountActivities.size} FILL account activities" }
for (activity in accountActivities.filterIsInstance<TradeActivity>()) {
// Only add trades we know the order id of, ignore the rest
logger.debug { "Found trade $activity" }
val order = orderPlacer.findByAlapacaId(activity.orderId)
if (order == null) {
logger.warn { "Couldn't find order for trade=$activity" }
continue
}
if (order is Order && activity.id !in handledTrades) {
val trade = Trade(
activity.transactionTime.toInstant(),
order.asset,
Size(activity.quantity.toBigDecimal()),
activity.price.toDouble(),
0.0,
Double.NaN,
order.id
)
_account.addTrade(trade)
handledTrades.add(activity.id)
}
}
}
*/

/**
* @see Broker.sync
Expand All @@ -267,7 +233,6 @@ class AlpacaBroker(
syncAccount()
syncPositions()
syncOrders()
// syncTrades()
return _account.toAccount()
}

Expand Down
2 changes: 1 addition & 1 deletion roboquant-avro/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.17.0</version>
<version>2.17.2</version>
</dependency>
</dependencies>
<repositories>
Expand Down
2 changes: 1 addition & 1 deletion roboquant-charts/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.icepear.echarts</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import org.icepear.echarts.components.visualMap.PiecewiseVisualMap
import org.icepear.echarts.components.visualMap.VisualPiece
import org.icepear.echarts.origin.coord.cartesian.AxisOption
import org.icepear.echarts.origin.util.SeriesOption
import org.roboquant.brokers.Trade
import org.roboquant.brokers.sim.Trade
import org.roboquant.common.Asset
import org.roboquant.common.Timeframe
import org.roboquant.common.getBySymbol
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import org.icepear.echarts.components.legend.Legend
import org.icepear.echarts.components.marker.MarkPoint
import org.icepear.echarts.components.series.ItemStyle
import org.icepear.echarts.components.series.LineStyle
import org.roboquant.brokers.Trade
import org.roboquant.brokers.sim.Trade
import org.roboquant.common.*
import org.roboquant.feeds.AssetFeed
import org.roboquant.feeds.Feed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import org.icepear.echarts.components.coord.cartesian.ValueAxis
import org.icepear.echarts.components.dataZoom.DataZoom
import org.icepear.echarts.components.toolbox.ToolboxDataZoomFeature
import org.icepear.echarts.components.tooltip.Tooltip
import org.roboquant.brokers.Trade
import org.roboquant.brokers.sim.Trade
import org.roboquant.common.Asset
import org.roboquant.common.Currency
import org.roboquant.common.UnsupportedException
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package org.roboquant.charts

import org.roboquant.brokers.Trade
import org.roboquant.brokers.sim.Trade
import kotlin.test.Test
import kotlin.test.assertTrue

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,6 @@ class IBKRBroker(

private val logger = Logging.getLogger(IBKRBroker::class)

// Track IB Trades and Feed ids with roboquant trades
private val tradeMap = mutableMapOf<String, Trade>()

init {
config.configure()
require(config.account.isBlank() || config.account.startsWith('D')) { "only paper trading is supported" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ private object Performance {
trades = 0
repeat(backTests) {
val broker = SimBroker()
val account = run(feed, getStrategy(SKIP), broker = broker)
run(feed, getStrategy(SKIP), broker = broker)
trades += broker.trades.size
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import org.ta4j.core.rules.CrossedUpIndicatorRule
import org.ta4j.core.rules.StopGainRule
import org.ta4j.core.rules.StopLossRule
import kotlin.test.Test
import kotlin.test.assertTrue

internal class Ta4JSignalStrategyTest {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,12 @@ package org.roboquant.ta
import com.tictactec.ta.lib.Compatibility
import org.junit.jupiter.api.assertDoesNotThrow
import org.junit.jupiter.api.assertThrows
import org.roboquant.run
import org.roboquant.common.Asset
import org.roboquant.common.plus
import org.roboquant.common.seconds
import org.roboquant.feeds.Event
import org.roboquant.feeds.PriceBar
import org.roboquant.feeds.filter
import org.roboquant.feeds.random.RandomWalk
import org.roboquant.feeds.util.HistoricTestFeed
import org.roboquant.strategies.Signal
import org.roboquant.strategies.SignalStrategy
Expand Down
77 changes: 0 additions & 77 deletions roboquant-xchange/pom.xml

This file was deleted.

This file was deleted.

Loading

0 comments on commit d64e517

Please sign in to comment.