NAME

Acme::Free::API::Stonks - Perl API client for the, top 50 stocks discussed on le'Reddit subeddit - r/Wallstreetbets, https://tradestie.com/apps/reddit/api/.

This module provides the client, "stonks", that is available via PATH after install.

SYNOPSIS

#!/usr/bin/env perl
use strict;
my $stonk = Acme::Free::API::Stonks->new;
printf STDERR "%-5s %-8s %-4s %4s\n", "tick", "sentiment", "score", "comments";
foreach my $s (sort {$a->ticker cmp $b->ticker} $stonk->stonks->all) {
printf "%-5s %-8s % 4.3f % 4d\n", $s->ticker // "na", $s->sentiment // "na", $s->sentiment_score // "nan", $s->no_of_comments // "nan";
}

stonks Commandline Client

After installing this module, simply run the command stonks without any arguments, and it will print a 4-column list of the top 50 stocks discussed on Reddit subeddit, r/Wallstreetbets.

The example below is printing out the full list (at the time of this writing), sorting by the 4th column using sort (this is the proper way to do it on the cli).

shell> stonks | sort -nr -k 4
tick sentiment score comments
NVDA Bearish -0.033 138
INTC Bullish 0.206 34
AI Bullish 0.245 26
DG Bearish -0.049 19
SMCI Bullish 0.129 18
QQQ Bullish 0.294 9
DLTR Bullish 0.015 9
AMD Bullish 0.226 8
TSLA Bullish 0.168 7
DELL Bullish 0.120 6
MU Bullish 0.074 5
LULU Bearish -0.050 5
EOD Bearish -0.013 5
AVGO Bullish 0.116 5
AAPL Bullish 0.385 5
OPEN Bearish -0.062 4
DKS Bearish -0.444 4
BABA Bearish -0.112 4
AU Bullish 0.063 4
ULTA Bullish 0.179 3
PTON Bullish 0.048 3
IBM Bullish 0.393 3
HPE Bullish 0.101 3
CRWD Bullish 0.503 3
BBBY Bearish -0.060 3
AMZN Bearish -0.045 3
AFRM Bearish -0.144 3
WOW Bullish 0.586 2
VS Bearish 0.000 2
UI Bearish -0.001 2
SAVE Bullish 0.809 2
PDD Bullish 0.230 2
ON Bearish -0.379 2
NOW Bearish -0.155 2
MRVL Bullish 0.335 2
GOOG Bearish -0.463 2
EV Bullish 0.077 2
UBS Bearish 0.000 1
TA Bearish 0.000 1
SR Bearish -0.359 1
SIRI Bearish 0.000 1
PANW Bullish 0.660 1
MDB Bullish 0.340 1
FTC Bearish -0.758 1
FAT Bearish 0.000 1
ESTC Bearish 0.000 1
COOL Bullish 0.515 1
CONE Bearish 0.000 1
ATEC Bearish -0.665 1
ABC Bearish -0.563 1

DESCRIPTION

Contributed as part of the FreePublicPerlAPIs Project described at, https://github.com/oodler577/FreePublicPerlAPIs.

This fun module is to demonstrate how to use Util::H2O::More and Dispatch::Fu to make creating easily make API SaaS modules and clients in a clean and idiomatic way. These kind of APIs tracked at https://www.freepublicapis.com/ are really nice for fun and practice because they don't require dealing with API keys in the vast majority of cases.

METHODS

new

Instantiates object reference. No parameters are accepted.

stonks

Object method that returns an ARRAY reference (based on the JSON returned by this service), that's been give the additional ARRAY vmethods via Util::H2O::More such as ->all (used in the SYNOPSIS above).

Internal Methods

get

Called internally by quote. This method uses HTTP::Tiny to call to the API. Then Util::H2O::More's d2o is used to deal with the resulting respons that has an accessor called quote. This is what's invoked that returns the actual ARRAY refernce of stonks records (HASH refs).

ENVIRONMENT

Nothing special required.

AUTHOR

Brett Estrade <oodler@cpan.org>

BUGS

Please report.

LICENSE AND COPYRIGHT

Same as Perl/perl.