################# #TICKER AVANZAID# #MAX 9 TECKEN # ################# AMFLANG 2111 AMFSMABO 2801 DNBFINANS 321692 SBRMEDICA 453 HBRAVARUFO 907817 HBREALRANT 255288 HBHALSOVAR 464 LFFASTIGHE 350 LFUSAINDE 181108 LFSMABO 2011 OHMOBLIGA 2106 SBRACCMIX 206 SBRASIEN 596635 SBRFASTIG 347 SBRRYSSLA 1717 SBRTEKNIK 1933 SBRREALRA 2123 SBRTECH 363 SEBINDXSE 150048 SEBKORTUS 1380 SPPOBLIGA 2128 NORSMANOR 1680 PACPREC 666676 SPIHOGR 471796 SPIRANT 94867
#!/usr/bin/php <?PHP $fund_list = file("fondlista.txt"); foreach ($fund_list as $line) { if(!empty($line) AND !stristr($line,"#")) { $tempArray = preg_split("/[ ;,:]+/", $line); $ticker = trim($tempArray[0]); $ticker_filename = "$ticker.csv"; $avanza_fondid = intval(trim($tempArray[1])); file_put_contents($ticker_filename,""); #reset file azPV($avanza_fondid,$ticker_filename); sleep(1); } } function azPV($id,$ticker_filename) { $url = "https://www.avanza.se/ab/component/highstockchart/getchart/orderbook"; $today = date ("Y-m-d"); $maxDate = '1985-01-01'; // max to start with $chartResolution = 'MONTH'; $json = "{\"orderbookId\":$id,\"chartType\":\"AREA\",\"widthOfPlotContainer\":558,\"chartResolution\":\"$chartResolution\",\"navigator\":false,\"percentage\":false,\"volume\":false,\"owners\":false,\"start\":\"$maxDate\",\"end\":\"$today\",\"ta\":[]}"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $json); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); $result = curl_exec($ch); if(!empty($result)) { $json_array = json_decode($result,true); curl_close($ch); $percent = $nav = $date = $prev_nav = $prev_nr = 0; foreach ($json_array['dataPoints'] as $nr => $dataPointsArray) { $date = trim($dataPointsArray[0]); $nav = trim($dataPointsArray[1]); if(empty($date)) $date = 0; else { $date = date("Y-m", $date / 1000); $date = date('Y-m', strtotime("+1 months", strtotime($date))); } if(empty($nav)) $nav = 0; if($nr > 0) { $prev_nr = $nr - 1; $prev_nav = trim($json_array['dataPoints'][$prev_nr][1]); } if(empty($prev_nav)) { $prev_nav = 0; $percent = "0%"; } else { $nav_calc = ($nav / $prev_nav) - 1; $percent = "".toPercent($nav_calc)."%"; } if(!empty($nav)) file_put_contents($ticker_filename,"$date,$percent\n",FILE_APPEND); } } } function toPercent($val){ return round($val*10000)/100; } ?>
root@odroid-xu4:/# ls -l /opt/genPVcsv/ total 8 -rw-r--r-- 1 root root 448 Jul 10 21:21 fondlista.txt -rwxr-xr-x 1 root root 2062 Jul 10 21:46 gen_csvs.php cd /opt/genPVcsv ./gen_csvs.php
Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!
Swish: 123 536 99 96 Bankgiro: 211-4106
Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!
Swish: 123 536 99 96 Bankgiro: 211-4106