The Most Active and Friendliest
Affiliate Marketing Community Online!

“Propeller”/  Direct Affiliate

ChatGPT and I wrote a JSON script (PHP+MySQL)

Graybeard

Well-Known Member
Prologue:
I am gathering stock reports on REIT (Real Estate Investment Trust) shares ( see attached sample ).
I had some errors in this script. Noteworthy, the basic code logic was there, some was mine and some were suggestions from AI prior on this project.
  1. Some of the files I requested with the api were {} empty
  2. I had the file in the wrong part of the rather complex nested loop
AI commented my error --I would have found it eventually --but the issue was time --AI was riding shotgun as assistant :D
^^ This was to point of the whole exercise --get it done faster --all work is local so internet security is not an issue here.

Bottom line: it's taken me the same time almost to hammer out this post and format the code used :D

Using AI for this as the assistant coder grunt took me minutes instead of hours fixing things and looking for snippet examples for something I have done but do not do every day.

I could search my own code library for examples that I have used that worked but ChatGPT AI does that work so much faster when you can prompt the right base code or code that is erroring.

PHP:
<?php
$filename = "jason-file-list.csv";
$fileNames = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

$file = fopen('overview-2023-07-31.csv', 'w'); // Open the file with mode 'w' to clear it before writing

// Loop through the list of file names
foreach ($fileNames as $filename) { // Change $fileName to $filename
    $data = file_get_contents($filename); // Change $fileName to $filename

    if ($data === false) {
        // Handle file reading error
        echo "Failed to read file: $filename\n";
        continue;
    }

    $json = json_decode($data, true);

    if (!is_array($json)) {
        // Handle JSON decoding error
        echo "Failed to decode JSON: $filename\n";
        continue;
    }

    foreach ($json as $key => $value) {
        if (!is_array($value)) {
            echo $value . '|';
        } else {
            foreach ($value as $val) {
                echo $val . '|';
            }
        }
    }

    echo "\n\n-------------------\n\n";

    foreach ($json as $key => $value) {
        if (!is_array($value)) {
            echo $key . '|';
        } else {
            foreach ($value as $val) {
                echo $val . '|';
            }
        }
    }

    foreach ($json as $key => $value) {
        if (!is_array($value)) {
            fwrite($file, $value . '|');
        }
        // Add a new line after each loop iteration
        // fwrite($file, "\n");
    }

    // Close the file handle inside the loop
    // No need to close it outside the loop
    // fclose($file);
    fwrite($file, "\n");
}

// Close the file outside the loop
fclose($file);
?>
 

Attachments

  • ABR-OVERVIEW.jsonDOS.txt
    1.7 KB · Views: 24
Here's a couple of lines of the result of the above script --ready to be loaded into a MySQL my AI buddy and I designed :D

Code:
1  AAIC|Common Stock|Arlington Asset Investment Corp|Arlington Asset Investment Corp. |1209028|NYSE|USD|USA|REAL ESTATE & CONSTRUCTION|REAL ESTATE INVESTMENT TRUSTS|6862 ELM STREET, SUITE 320, MCLEAN, VA, US|December|2023-03-31|132159000|None|42.36|None|6.43|0|0.0915|0.11|0.988|0.211|0.281|0.0068|0.0273|27933000|3755000|0.11|0.35|-0.591|4.63|42.36|10|2.877|0.466|-|-|1.489|4.84|2.53|4.18|3.213|28360400|2020-02-03|2019-12-30
2  AAIN|Common Stock|AAIN|None|1209028|NYSE|USD|USA|REAL ESTATE & CONSTRUCTION|REAL ESTATE INVESTMENT TRUSTS|6862 ELM STREET, SUITE 320, MCLEAN, VA, US|December|2023-03-31|None|None|None|None|None|None|0|None|0|0|0|0|0|0|0|0|0|0|None|-|-|-|-|-|-|None|23.84|19.99|23.56|23.27|0|2023-08-01|None
3  AAT|Common Stock|American Assets Trust Inc|American Assets Trust, Inc. is a self-managed, vertically integrated, full-service real estate investment trust, or REIT, based in San Diego, California. |1500217|NYSE|USD|USA|REAL ESTATE & CONSTRUCTION|REAL ESTATE INVESTMENT TRUSTS|11455 EL CAMINO REAL, SUITE 200, SAN DIEGO, CA, US|December|2023-06-30|1348087000|235628000|30.64|21.85|20.11|0|0.0589|0.798|6.97|0|0|0.0241|4.13|424689000|272594000|0.84|0.531|0.061|22.33|26.67|-|5.03|1.357|7.84|13.83|1.108|29.18|15.77|19.96|23.13|60717000|2023-06-22|2023-09-06
4  ABR|Common Stock|Arbor Realty Trust|Arbor Realty Trust, Inc. invests in a diversified portfolio of structured financial assets in the commercial, single-family, and multi-family real estate markets in the United States. The company is headquartered in Uniondale, New York.|1253986|NYSE|USD|USA|REAL ESTATE & CONSTRUCTION|REAL ESTATE INVESTMENT TRUSTS|333 EARLE OVINGTON BOULEVARD, SUITE 900, UNIONDALE, NY, US|December|2023-06-30|3192057000|None|10.19|1.2|12.92|0|0.0953|1.73|3.956|0|0|0.0229|13.89|677595000|597944000|1.73|0.129|0.155|15.5|10.19|-|3.589|1.089|-|-|1.929|17.74|9.77|14.45|13.57|181161000|2023-05-31|2023-05-18

I'll probably have to tweak it some more AI made an error for reason that the author of the json coding enclose numbers as a "string" you cannot perform mathematical operations on a string value ...
SQL:
Step 1: Update the MySQL table schema

/*sql the table name was AI's assumption I will use the name `REIT_overview` as it is
more descriptive of the contents ;) add an id column as the primary key and add my own keys MUL
NOT NULL
NOT NULL DEFAULT '0',
[as needed]
*/

CREATE TABLE IF NOT EXISTS stock_data (
Symbol VARCHAR(50) NOT NULL,
AssetType VARCHAR(50),
Name VARCHAR(100),
Description TEXT,
CIK VARCHAR(20),
Exchange VARCHAR(50),
Currency VARCHAR(10),
Country VARCHAR(50),
Sector VARCHAR(50),
Industry VARCHAR(100),
Address TEXT,
FiscalYearEnd VARCHAR(20),
LatestQuarter DATE,
MarketCapitalization BIGINT,
EBITDA BIGINT,
PERatio VARCHAR(20),
PEGRatio VARCHAR(20),
BookValue DECIMAL(10, 3),
DividendPerShare DECIMAL(10, 3),
DividendYield DECIMAL(10, 3),
EPS DECIMAL(10, 3),
RevenuePerShareTTM DECIMAL(10, 3),
ProfitMargin DECIMAL(10, 3),
OperatingMarginTTM DECIMAL(10, 3),
ReturnOnAssetsTTM DECIMAL(10, 3),
ReturnOnEquityTTM DECIMAL(10, 3),
RevenueTTM BIGINT,
GrossProfitTTM BIGINT,
DilutedEPSTTM DECIMAL(10, 3),
QuarterlyEarningsGrowthYOY DECIMAL(10, 3),
QuarterlyRevenueGrowthYOY DECIMAL(10, 3),
AnalystTargetPrice DECIMAL(10, 3),
TrailingPE VARCHAR(20),
ForwardPE VARCHAR(20),
PriceToSalesRatioTTM DECIMAL(10, 3),
PriceToBookRatio DECIMAL(10, 3),
EVToRevenue DECIMAL(10, 3),
EVToEBITDA DECIMAL(10, 3),
Beta DECIMAL(10, 3),
`52WeekHigh` DECIMAL(10, 3),
`52WeekLow` DECIMAL(10, 3),
`50DayMovingAverage` DECIMAL(10, 3),
`200DayMovingAverage` DECIMAL(10, 3),
SharesOutstanding BIGINT,
DividendDate VARCHAR(20),
ExDividendDate VARCHAR(20),
PRIMARY KEY (Symbol)
);

The end game is developing an algorithm that will select what issues may be worth buying.

However this is real data that is based on SEC (security exchange commission) government monitored data and not CPA claim with no supporting data provided. But in theory, if I had any reliable data --I could do the same thing.
 
3/4 done with the raw data
28/226
or about 12% are worth the effort to further evaluate.

This is a process of segmentation and elimination.
You could easily apply the same processes to traffic data --you just need enough data for the scaling to work.

REIT_overview_sort.png
 
took an hour for me and by 'employee-developer-grunt' ChatGPT to stumble through our mistakes an communication failures.
Apologies for the oversight. You are correct; the output file is named with a .csv extension. Here's the updated code with the .csv file extension:
Sorry-ass MoFo :D

PHP:
<?php
/*
~/db-restore/preferred-symbols/symbols/research/REIT/parse-json-cashflow.php
parse-json-cashflow.php

*/

$filename = "jason-file-list.csv";
$fileNames = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$date = date('Y-m-d');
$filenameOutput = "cashflow-$date.csv"; // Adjust the output file name

$file = fopen($filenameOutput, 'w'); // Open the file with mode 'w' to clear it before writing

foreach ($fileNames as $fileName) {
    $sym = explode('-', $fileName);
    $symbol = $sym[0];

    $data = file_get_contents($fileName); // Use $fileName instead of $filename

    if ($data === false) {
        // Handle file reading error
        echo "Failed to read file: $fileName\n";
        continue;
    }

    $json = json_decode($data, true);

    if (!is_array($json)) {
        // Handle JSON decoding error
        echo "Failed to decode JSON: $fileName\n";
        continue;
    }

    // Process the file example:
    if (isset($json['quarterlyReports']) && is_array($json['quarterlyReports'])) {
        foreach ($json['quarterlyReports'] as $quarterlyReport) {
            if (is_array($quarterlyReport)) {
                $output = $symbol . '|'; // Initialize the $output with $symbol

                foreach ($quarterlyReport as $key => $value) {
                    if (!is_array($value)) {
                        $output .= $value . '|'; // Append the value to the output string
                    }
                }

                $output = rtrim($output, '|'); // Remove the final '|' character
                $output .= "\n"; // Append a new line after each iteration

                // Save the output to a file for each quarterlyReport
                file_put_contents($filenameOutput, $output, FILE_APPEND); // Use $filenameOutput instead of $file
            }
        }
    }
}

// Close the file handle after finishing the loop
fclose($file);

I have a download limit of 100 requests per day on a free account, so I curl (fetch) 75 files per day 12.5 sec per request.
I save 75 json files ann make a list. This script parses the files on the list into a csv file I can load into my database. Each list is unique with a date.

Attached is a sample source file (the *.json):
 

Attachments

  • AAIC-CASH_FLOW.txt
    38.3 KB · Views: 24
Last edited:
the output:
Code:
1  AAIC|2023-03-31|USD|-4416000|8001000|None|765000|339000|-4308000|None|221000
|None|-2218000|22353000|-35316000|-31161000|0|0|0|660000|660000|None|None|0|0|0|None|-17379000|None|-2218000
2  AAIC|2022-12-31|USD|986000|7991000|None|-1079000|-954000|-4140000|None|658000|None|4389000
|-65617000|78496000|85600000|1084000|1230000|146000|659000|659000|None|None|0|0|-1230000|None|None|None|4389000
3  AAIC|2022-09-30|USD|274000|6397000|None|-1052000|-802000|-3913000|None|366000|None|3431000
|-22701000|23280000|99916000|1493000|3133000|1640000|675000|675000|None|0|15806000|0|-3133000|None|853000|None|3431000
...
19  AAIC|2018-09-30|USD|16340000|21957000|None|993000|1348000|8381000|None|1450000|None|-5501000
|-352043000|349206000|339669000|0|0|None|10971000|10971000|None|20377000|0|131000|20508000|None|13503000
|None|-5501000
20  AAIC|2018-06-30|USD|16430000|18893000|None|238000|88905000|8274000|None|706000|None|-3608000|-167598000
|154645000|169224000|0|0|None|15730000|15730000|None|711000|0|440000|1128000|None|3477000|None|-3608000

for 75 files the data into 1 csv for the database * 4 cycles
 
might be a little off topic but it will be exciting to see what small start ups and companies will be able to do now that they only need a few people to get their product/ tool off the ground with the time saving ai can do.
 
might be a little off topic but it will be exciting to see what small start ups and companies will be able to do now that they only need a few people to get their product/ tool off the ground with the time saving ai can do.
on topic really ...Thumbs Up

I think you still have to understand basic coding and programming vocabulary to utilize AI properly and efficiently.
We went back and forth a lot and I forget some things too :( That said, this JSON was not the ordinary.
^ a copy of *our* dialog the good, bad and ugly :D
Now,I am constructing this for my own investment purposes. However, when I get enough routines working I may go commercial updating the site dynamically and sell ads and/or subscriptions --if the traffic builds up enough. Real investor traffic is valuable.

You don't see data expressed this way ...

1691197716029.png


But if you think AI will create your tool perfectly without you being able to be very specific prompting, knowing what you want and how to explain it in a program dialog with AI --you will be going back and forth a very long time I think --proof just from this "task" :D

To bad AI can't pick the most likely Powerball lottery numbers --the prize this week is over $1 billion :p
 
Human review is necessary for these complex MySQL queries:

1691414275912.png

I am comparing by the quarter the Profit/Loss and the Operating Cash flow to see if I can detect the relationship between the percentages of each.

I could just as easily use the same formula queries by the week, the campaign, the clicks and and their conversion rates (the percentage).


Then look for the patterns and draw some conclusions based on empirical (real) data --and not lengthy computations and guess work.

Prior week compared to this week's results. Over 20 weeks and 2,000 clicks you might see the patterns.
As an example:
  • Is product, campaign really evergreen?
    Does the network result trend down after 3 weeks?
    Does the campaign creative burn-out from over saturation in 1or weeks?
  • Is the any real trend of a campaign?
    Or, does it seem to randomly rise and fall? Is there some pattern?
  • If you are an Affiliate Network analyzing by offer and affiliate and finding patterns.
  • If you are an Advertising Network analyzing by publisher and advertiser.
  • the uses go on and on ...
 
I now can find stocks that have been legally pumped with stock-buy-backs to raise their market prices. Damn, this really can be a sucker's game --some of the 'reputable' annalist reports either don't reflect this or ignore the fundamentals. Here are 2 examples:

ex #1. risky

1692198748269.png

ex #2. reasonable

1692198878704.png


Knowledge and data is power ;)

What I have concluded there are a lot of public stock companies paying out sub-market rate dividends to investors and using stock buy-backs to create the illusion of value and growth where there really is little.

Now to pick the cherries ;)


 
After finding errors mainly in my conceptualization of the task and prompting the script correctly --honestly I found a shortcut that worked but was inconsistent. in maybe 10 minutes of ChatGPT time and an hour of my time designing the prompts and we are done (I hope)
The script:
PHP:
<?php

// Define the input JSON file and output CSV files
$filename = "json-CASH_FLOW-list.csv";
$fileNames = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$date = date('Y-m-d');
$filenameAnnualOutput = "annual-cash-flow-$date.csv"; // Output file for annual reports
$filenameQuarterlyOutput = "quarterly-cash-flow-$date.csv"; // Output file for quarterly reports

$outputArrayAnnual = array(); // Initialize an empty array to store annual report output
$outputArrayQuarterly = array(); // Initialize an empty array to store quarterly report output

foreach ($fileNames as $jsonFileName) {
    // Read the JSON data from the current file
    $jsonData = file_get_contents($jsonFileName);
    $data = json_decode($jsonData, true);

    // Check if "annualReports" key exists and iterate if it does
    if (isset($data['annualReports']) && is_array($data['annualReports'])) {
        $symbol = $data['symbol'];
        foreach ($data['annualReports'] as $annualReport) {
            $outputArrayAnnual[] = $symbol . '|' . implode('|', $annualReport);
        }
    }

    // Check if "quarterlyReports" key exists and iterate if it does
    if (isset($data['quarterlyReports']) && is_array($data['quarterlyReports'])) {
        $symbol = $data['symbol'];
        foreach ($data['quarterlyReports'] as $quarterlyReport) {
            $outputArrayQuarterly[] = $symbol . '|' . implode('|', $quarterlyReport);
        }
    }
}

// Create and write to the annual reports CSV file
$annualFile = fopen($filenameAnnualOutput, 'w');
if (!$annualFile) {
    die("Unable to create or open the annual reports CSV file.");
}

foreach ($outputArrayAnnual as $row) {
    fputs($annualFile, $row . PHP_EOL);
}

fclose($annualFile);

// Create and write to the quarterly reports CSV file
$quarterlyFile = fopen($filenameQuarterlyOutput, 'w');
if (!$quarterlyFile) {
    die("Unable to create or open the quarterly reports CSV file.");
}

foreach ($outputArrayQuarterly as $row) {
    fputs($quarterlyFile, $row . PHP_EOL);
}

fclose($quarterlyFile);

echo "CSV files '$filenameAnnualOutput' and '$filenameQuarterlyOutput' have been created successfully.\n";
This took 5 prompts with changes and added features as I tested it. Pretty good I think :D

Thank You AI.

Now I will work on my algorithms and test them. I have made approximately $8k in buys and $2k offloading 1 mistake. I am 70% 'right' or OK right now ... things change rapidly up and down sometimes on Wall Street. Jay Powell and the FED mess thing up a bit this week ... This week I bought RTX dropped 2% fk! TY Powell&FED at BankCrime, Inc. as well as the House failing to pass the Defense Bill in Congress this week --just SHTF
1695503889355.png

Defense Contractors are very evergreen :p
 
Last edited:
I am reaching an end result now.
Did I get lucky and will I be able to buy at advantageous bid prices 10% of the time?
1696695054914.png

1696697018686.png


AEHR stock dropped 14% when the US Markets opened --earnings call and
1696696246743.png


I win made a 9% GAIN IN 1 DAY!!! Gonna keep testing new lowball orders -- I saw by my data that is was a good company but its price was over bought and too high.

The data from all this coding worked --can i do it again --the stock market is an auction --not unlike eBay but a lot more money at play --peeing with the big dogs in the tall grass ain't easy ;)

Algo Bid :)

symbol​
AEHR FROM DATE​
90D_MIN​
90D_MAX​
AVG​
last_close​
StandardDevi​
90D_FMV?​
90D_R​
LowBid
AEHR​
2023-Oct-06​
38.64​
53.69​
46.54​
38.64​
3.87​
42.67​
0.83​
35.43

detail from the data query of my servers ;)

SQL:
SET @BASIS_AEHR =(SELECT  ROUND(
AVG(close),2)
 FROM series_monthly
/*+-----SET DATE RANGE*/
  WHERE date BETWEEN  '2022-06-30' and '2022-11-30'
       AND symbol = 'AEHR');
symbol​
date​
@BASIS_AEHR​
close​
dividend​
Val@basis​
MKT_VAL​
Mkt_GAIN_LOSS​
inf_deflator​
volume​
AEHR​
2020-Sep-30​
15.7​
1.39​
0​
1.39​
0.089​
−14.31​
1.031​
5073474​
AEHR​
2020-Oct-30​
15.7​
1.22​
0​
1.22​
0.078​
−14.48​
0.894​
2886939​
AEHR​
2020-Nov-30​
15.7​
1.65​
0​
1.65​
0.105​
−14.05​
1.361​
2820655​
AEHR​
2020-Dec-31​
15.7​
2.53​
0​
2.53​
0.161​
−13.17​
2.248​
1.45E+07​
AEHR​
2021-Feb-26​
15.7​
2.8​
0​
2.8​
0.178​
−12.9​
2.562​
1.69E+07​
AEHR​
2021-Mar-31​
15.7​
2.52​
0​
2.52​
0.161​
−13.18​
2.28​
5410501​
AEHR​
2021-Apr-30​
15.7​
2.26​
0​
2.26​
0.144​
−13.44​
1.992​
3954221​
AEHR​
2021-May-28​
15.7​
2.25​
0​
2.25​
0.143​
−13.45​
1.895​
1.26E+07​
AEHR​
2021-Jun-30​
15.7​
2.76​
0​
2.76​
0.176​
−12.94​
2.348​
7028183​
AEHR​
2021-Jul-30​
15.7​
5.62​
0​
5.62​
0.358​
−10.08​
5.214​
3.16E+08​
AEHR​
2021-Aug-31​
15.7​
7.46​
0​
7.46​
0.475​
−8.24​
7.096​
3.16E+07​
AEHR​
2021-Sep-30​
15.7​
13.65​
0​
13.65​
0.869​
−2.05​
13.282​
1.48E+08​
AEHR​
2021-Oct-29​
15.7​
22.62​
0​
22.62​
1.441​
6.92​
22.206​
8.44E+07​
AEHR​
2021-Nov-30​
15.7​
17.42​
0​
17.42​
1.11​
1.72​
16.943​
4.05E+07​
AEHR​
2021-Dec-31​
15.7​
24.18​
0​
24.18​
1.54​
8.48​
23.675​
2.87E+07​
AEHR​
2022-Feb-28​
15.7​
13.6​
0​
13.6​
0.866​
−2.1​
12.974​
1.35E+07​
AEHR​
2022-Mar-31​
15.7​
10.16​
0​
10.16​
0.647​
−5.54​
9.484​
1.61E+07​
AEHR​
2022-Apr-29​
15.7​
7.68​
0​
7.68​
0.489​
−8.02​
6.964​
1.25E+07​
AEHR​
2022-May-31​
15.7​
8.38​
0​
8.38​
0.534​
−7.32​
7.639​
8530063​
AEHR​
2022-Jun-30​
15.7​
7.5​
0​
7.5​
0.478​
−8.2​
6.717​
5539934​
AEHR​
2022-Jul-29​
15.7​
11.41​
0​
11.41​
0.727​
−4.29​
10.559​
1.69E+07​
AEHR​
2022-Aug-31​
15.7​
14.54​
0​
14.54​
0.926​
−1.16​
13.657​
3.68E+07​
AEHR​
2022-Sep-30​
15.7​
14.1​
0​
14.1​
0.898​
−1.6​
13.159​
2.34E+07​
AEHR​
2022-Oct-31​
15.7​
20.57​
0​
20.57​
1.31​
4.87​
19.566​
5.27E+07​
AEHR​
2022-Nov-30​
15.7​
26.07​
0​
26.07​
1.661​
10.37​
25.071​
2.97E+07​
AEHR​
2022-Dec-30​
15.7​
20.1​
0​
20.1​
1.28​
4.4​
19.084​
2.37E+07​
AEHR​
2023-Feb-28​
15.7​
33.35​
0​
33.35​
2.124​
17.65​
32.321​
2.23E+07​
AEHR​
2023-Mar-31​
15.7​
31.02​
0​
31.02​
1.976​
15.32​
29.985​
4.63E+07​
AEHR​
2023-Apr-28​
15.7​
24.75​
0​
24.75​
1.576​
9.05​
23.737​
2.38E+07​
AEHR​
2023-May-31​
15.7​
33.02​
0​
33.02​
2.103​
17.32​
32.027​
1.73E+07​
AEHR​
2023-Jun-30​
15.7​
41.25​
0​
41.25​
2.627​
25.55​
40.308​
2.54E+07​
AEHR​
2023-Jul-31​
15.7​
52.16​
0​
52.16​
3.322​
36.46​
51.277​
3.15E+07​
AEHR​
2023-Aug-31​
15.7​
51.01​
0​
51.01​
3.249​
35.31​
50.153​
2.09E+07​
AEHR​
2023-Sep-29​
15.7​
45.7​
0​
45.7​
2.911​
30​
44.881​
1.27E+07​
Symbol​
DateEnding​
operatingCashflow​
profitLoss​
dividendPayout​
AEHR​
2023-May-31​
1E+07​
1.46E+07​
0​
0​
0​
0​
AEHR​
2022-May-31​
1508000​
9450000​
0​
0​
0​
0​
AEHR​
2021-May-31​
−2.7E+06​
−2E+06​
0​
0​
0​
0​
AEHR​
2020-May-31​
−2E+06​
−2.8E+06​
0​
0​
0​
0​
AEHR​
2019-May-31​
−5.6E+06​
−5.2E+06​
0​
0​
0​
0​
Symbol​
DateEnding​
operatingCashflow​
profitLoss​
dividendPayout​
divPayoutR​
AEHR​
2023-May-31​
5868000​
6111000​
0​
0​
0​
0​
AEHR​
2023-Feb-28​
−1.1E+06​
4132000​
0​
0​
0​
0​
AEHR​
2022-Nov-30​
−195000​
3725000​
0​
0​
0​
0​
AEHR​
2022-Aug-31​
5461000​
589000​
0​
0​
0​
0​
AEHR​
2022-May-31​
−767000​
5794000​
0​
0​
0​
0​
AEHR​
2022-Feb-28​
−2.9E+06​
2243000​
0​
0​
0​
0​
AEHR​
2021-Nov-30​
3337000​
717000​
0​
0​
0​
0​
AEHR​
2021-Aug-31​
1874000​
696000​
0​
0​
0​
0​
AEHR​
2021-May-31​
−190000​
567000​
0​
0​
0​
0​
AEHR​
2021-Feb-28​
−256000​
−735000​
0​
0​
0​
0​
AEHR​
2020-Nov-30​
−2.9E+06​
−2E+06​
0​
0​
0​
0​
AEHR​
2020-Aug-31​
643000​
107000​
0​
0​
0​
0​
AEHR​
2020-May-31​
−1.4E+06​
−2.9E+06​
0​
0​
0​
0​
AEHR​
2020-Feb-29​
−364000​
245000​
0​
0​
0​
0​
AEHR​
2019-Nov-30​
−86000​
251000​
0​
0​
0​
0​
AEHR​
2019-Aug-31​
−190000​
−413000​
0​
0​
0​
0​
AEHR​
2019-May-31​
−844000​
110000​
0​
0​
0​
0​
AEHR​
2019-Feb-28​
−1.8E+06​
−3.2E+06​
0​
0​
0​
0​
AEHR​
2018-Nov-30​
−2E+06​
−629000​
0​
0​
0​
0​
AEHR​
2018-Aug-31​
−971000​
−1.5E+06​
0​
0​
0​
0​
Symbol​
YLD​
EVToEBITDA​
PERatio​
ForwardPE​
50DMA​
AnalystTargetPrice​
Q_EarnGrowYOY​
AEHR​
0​
66.35​
93.27​
-​
47.01​
60​
0.017​
symbol​
day​
1Yr_MIN​
1YR_MAX​
AVG​
last_close​
StandardDevi​
FMV?​
R​
LowBid​
AEHR​
2023-Oct-06​
14.73​
53.69​
33.6​
38.64​
9.78​
23.82​
0.44​
10.44​
symbol​
AEHR FROM DATE​
90D_MIN​
90D_MAX​
AVG​
last_close​
StandardDevi​
90D_FMV?​
90D_R​
LowBid​
AEHR​
2023-Oct-06​
38.64​
53.69​
46.54​
38.64​
3.87​
42.67​
0.83​
35.43​
Symbol​
Sector​
Name​
Industry​
DividendYield​
TrailingPE​
ForwardPE​
DilutedEPSTTM​
OperatingMarginTTM​
AEHR​
LIFE SCIENCES​
Aehr Test​
INSTRUMENTS FOR MEAS & TESTING OF ELECTRICITY & ELEC SIGNALS​
0​
93.27​
-​
0.49​
0.206​
Symbol​
PriceToSalesRatioTTM​
EVToEBITDA​
50DayMovingAverage​
200DayMovingAverage​
AEHR​
11.43​
66.35​
47.01​
36.18​
 
Last edited:
there is a limited (100 requests per day free)
and a paid plan with more data and api feeds

this is the 'big enchilada' SEC.gov | Developer Resources
this is public regulator data very complex however.

I have moved on to plotting Polynomial regression trends with Python and Liner regression trends using Progres SQL
1699006874271.png


These are also applications that could be used to plot trends with any business data also.

So, if anyone has large datasets of conversion or advertising site CTR data these methods could be used also. General business analysis is the case use.
 
banners
Back