Skip to content

Instantly share code, notes, and snippets.

@petegivens
Created March 16, 2021 02:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save petegivens/07eb23da5b1e15bdb8827eea936c33f0 to your computer and use it in GitHub Desktop.
Save petegivens/07eb23da5b1e15bdb8827eea936c33f0 to your computer and use it in GitHub Desktop.
scalar Date
type Company {
id: ID!
ticker: String!
name: String!
sector: Int!
currentPrice: Float
}
type Insider {
id: ID!
cik: Int!
firstName: String!
lastName: String!
roles: [InsiderRole]!
holdings: [Holding]
returnRate: ReturnRates
returnRateRelativeToSP500: ReturnRates
transactions: [InsiderTransaction]!
}
enum TransactionType {
buy
sell
}
type InsiderTransaction {
company: Company!
date: Date!
transactionType: TransactionType!
numberOfShares: Float!
value: Float!
numberOfSharesAfterTransaction: Float!
}
type ReturnRates {
average: Float
oneMonth: Float
threeMonth: Float
sixMonth: Float
oneYear: Float
twoYear: Float
threeYear: Float
}
enum InsiderPosition {
CEO
COB
President
COO
CFO
VP
GC
Director
TenPercentOwner
}
"""
Any insider position held at a company
"""
type InsiderRole {
companyId: ID!
position: InsiderPosition!
}
type Holding {
companyId: ID!
numberOfShares: Float!
valueOfShares: Float!
}
input MinMaxInt {
min: Int
max: Int
}
input MinMaxFloat {
min: Float
max: Float
}
input DateRange {
start: Date
end: Date
}
input CompanyInput {
dateRange: DateRange
numberOfInsiderBuys: MinMaxInt
numberOfSharesBought: MinMaxInt
valueOfSharesBought: MinMaxInt
numberOfInsiderSells: MinMaxInt
numberOfSharesSold: MinMaxInt
valueOfSharesSold: MinMaxInt
insiderOwnershipPercentage: MinMaxInt
currentStockPrice: MinMaxFloat
marketCap: MinMaxInt
"""
NAICS numbers
"""
sectors: [Int]
totalReturn_1week: MinMaxInt
totalReturn_1month: MinMaxInt
totalReturn_3Month: MinMaxInt
totalReturn_6Month: MinMaxInt
totalReturn_12Month: MinMaxInt
returnRelativeToSP500_1week: MinMaxInt
returnRelativeToSP500_1month: MinMaxInt
returnRelativeToSP500_3month: MinMaxInt
returnRelativeToSP500_6month: MinMaxInt
returnRelatiiveToSP500_12month: MinMaxInt
}
type Query {
companies(input: CompanyInput): [Company]!
transactions: [InsiderTransaction]!
insider(cik: Int!): Insider!
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment