| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- generator client {
- provider = "prisma-client-js"
- }
- datasource db {
- provider = "postgresql"
- url = env("DATABASE_URL")
- }
- model WeatherForecast {
- id String @id @default(cuid())
- city String
- targetDate DateTime
- model String // 'gfs', 'ecmwf', 'icon'
- modelRunTime DateTime
- predictedHigh Float
- stdDev Float
- rawData Json
- createdAt DateTime @default(now())
- @@index([city, targetDate, model])
- }
- model MarketSnapshot {
- id String @id @default(cuid())
- polymarketId Int
- marketGroupId Int
- city String
- targetDate DateTime
- bucketLabel String
- yesPrice Float
- noPrice Float
- volume24h Float
- liquidity Float
- yesTokenId String
- noTokenId String
- createdAt DateTime @default(now())
- @@index([city, targetDate, createdAt])
- }
- model Signal {
- id String @id @default(cuid())
- type String // 'TAIL_NO', 'LATENCY_ARB', 'PARITY_ARB'
- city String
- targetDate DateTime
- bucketLabel String
- marketYesPrice Float
- modelProbability Float
- edge Float
- expectedReturn Float
- agreementScore Float
- confidence String
- recommendedSize Float
- executed Boolean @default(false)
- executedAt DateTime?
- tradeId String?
- trade Trade? @relation(fields: [tradeId], references: [id])
- createdAt DateTime @default(now())
- @@unique([type, city, targetDate, bucketLabel], name: "type_city_date_bucket")
- @@index([type, city, targetDate])
- }
- model Trade {
- id String @id @default(cuid())
- signalId String?
- signals Signal[]
- side String // 'BUY_YES', 'BUY_NO'
- tokenId String
- price Float
- size Float
- costBasis Float // price * size
- orderId String? // Polymarket order ID
- status String // 'PENDING', 'FILLED', 'CANCELLED'
- dryRun Boolean @default(true)
- filledPrice Float?
- pnl Float?
- resolvedAt DateTime?
- createdAt DateTime @default(now())
- @@index([status, createdAt])
- }
- model DailyMetrics {
- id String @id @default(cuid())
- date DateTime @unique
- totalTrades Int
- winningTrades Int
- losingTrades Int
- grossPnl Float
- netPnl Float
- winRate Float
- avgEdge Float
- maxDrawdown Float
- createdAt DateTime @default(now())
- }
|