-
Notifications
You must be signed in to change notification settings - Fork 3
Screener
df := GetScreenerData(NewClient(), &OverviewScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
})
df := GetScreenerData(NewClient(), &ValuationScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
})
df := GetScreenerData(NewClient(), &OwnershipScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
})
df := GetScreenerData(NewClient(), &PerformanceScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
})
df := GetScreenerData(NewClient(), &CustomScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
"custom_columns": []string{"0", "1", "3", "Company", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "shares Outstanding", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "volume", "68", "69", "IPO Date"},
})
df := GetScreenerData(NewClient(), &FinancialScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
})
df := GetScreenerData(NewClient(), &TechnicalScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
})
df := GetScreenerData(NewClient(), &ChartsScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
"chart_type": Candle,
"timeframe": Weekly,
})
df := GetScreenerData(NewClient(), &BasicScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
"chart_type": Candle,
"timeframe": Weekly,
})
df := GetScreenerData(NewClient(), &NewsScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
"chart_type": Candle,
"timeframe": Weekly,
})
df := GetScreenerData(NewClient(), &DescriptionScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
"chart_type": Candle,
"timeframe": Weekly,
})
df := GetScreenerData(NewClient(), &SnapshotScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
"chart_type": Candle,
"timeframe": Weekly,
})
df := GetScreenerData(NewClient(), &TAScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
"chart_type": Candle,
"timeframe": Weekly,
})
df := GetScreenerData(NewClient(), &TickersScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
})
df := GetScreenerData(NewClient(), &BulkScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
})
df := GetScreenerData(NewClient(), &BulkFullScreenerView{}, &map[string]interface{}{
"signal": AllStocks,
"filters": []FilterInterface{
ExchangeFilter(NYSE),
PriceFilter(PriceOver5),
IndexFilter(SP500),
},
"general_order": Descending,
"specific_order": Volume,
})
The signals are defined here.
There are two main General Order
types:
Ascending
Descending
The default General Order is Ascending
.
For more details on Specific Order
types, click here.
Filters
are the primary parameters used to modify a screen.
Each filter has an array of default options provided by Finviz.
Initializing a filter with a default value:
industry := IndustryFilter(Gold)
Initializing a filter with multiple default values:
industry := IndustryFilter(Gold, Silver, Steel)
If Finviz supports a filter option that is not currently available in the default list, it can still be used.
The custom value passed to the filter must be the same as the value passed in the Finviz screen url. For the following example, the Finviz screen url would contain the parameter exch_virtualreality
. Thus, virtualreality
must be passed to the filter as shown below.
Initializing a filter with a custom value (if its valid):
industry := IndustryFilter("virtualreality")
Each filter handles its own URL generation. Users only need to state the filter value they want to use, i.e. NYSE
, OMUnder80
, Price10PercentBelowSMA200
. The values of the default 60+ filters provided by Finviz have already been defined as constants in filters.go
.
All registered filters are documented below.