WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Backdoor zum Auslesen eines Identifiers einrichten

 

Nik9090
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 15.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.04.2016, 19:41     Titel: Backdoor zum Auslesen eines Identifiers einrichten
  Antworten mit Zitat      
Hallo Liebe Community,

zum Ende meines Studiums habe ich mich nun auch das erste Mal intensiv mit MatLab auseinandersetzen können. Ich habe mir, aufbauend auf einer ersten Vorlage ein Programm gebastelt, dass über einen ftp-Zugang auf Börsenberichte von Amerikanischen Unternehmen zugreift und diese herunterlädt. Dies klappt soweit auch sehr gut. Das Programm erstellt zunächst Indexdateien für das jeweilige Quartal, extrahiert daraus die Downloadlinks und schreibt die benötigen Dateien (10-K: vierteljährlicher Finanbericht) auf die lokale Festplatte.
Wie gesagt, soweit so gut.
Da in dem entsprechenden Zeitraum mehr als 80.000 Reports veröffentlicht wurden, die jeweils etwa 3MB groß sind, möchte ich nicht nur nach dem Format, nämlich "10-K" filtern, sondern zusätzlich eine .txt-Datei einlesen lassen, die bestimmte Identifizierer (Zahlencodes, Nx1 Matrix) enthält, die den Firmen einzigartig zugeordnet sind.
Eine Outputzeile nach dem umwandeln in Zeilenformat lautet, z.B (CIK ist fett markiert):
'10-K 155 East Tropicana Finance Corp. 1326686 2008-03-31 edgar/data/1326686/0001104659-08-021249.txt '

Hat jemand eine effiziente Lösung, wie ich die nicht benötigten Reportings schon vor dem Download aussortieren kann (z.B mit einer Backdoor?). Unten nochmal das gesamte Programm. Bin natürlich auch für andere Anmerkungen und Vorschläge dankbar Wink

Danke im Voraus,

Nik

Code:

a1=2008:2015;
a2=repmat(a1,4,1);
a=reshape(a2,32,1);
b=repmat([1;2;3;4],8,1);
c=1:32;
d=[a b c'];

clear a b c a1 a2

for i=1:32;
root=['ftp://ftp.sec.gov/edgar/full-index/' num2str(d(i,1)) '/QTR' num2str(d(i,2)) '/form.idx'];
urlwrite(root, ['D:\test\form (' num2str(d(i,3)) ').idx']);
end

clear d i root ans

idx_data=cell(1);
f= fullfile(['D:\test (' num2str(1) ').idx']);
text=fileread(f);
rex1 = '10-K [^\n]*';
[index]=regexpi(text,rex1,'match');
n=size(index,2);
idx_data(1:n,1)=index';
clear f i index rex1 text n

for i=2:32;
f= fullfile(['D:\test (' num2str(i) ').idx']);
text=fileread(f);
rex1 = '10-K [^\n]*';

[index]=regexpi(text,rex1,'match');

z=size(idx_data,1);
n=size(index,2);
idx_data(z+1:n+z,1)=index';

end

clear f i index rex1 text n z

size(idx_data,1);
for i=1:32;
    root=char(idx_data(i,1));
    root=strtrim(root(99:150));
    extention(i,1)=cellstr(root);
end  

clear i root


for i=1:32;
    i;
    m1='ftp://ftp.sec.gov/';
    m2=char(extention(i,1));
 urlwrite([m1 m2],['D:\test\' num2str(i) '.txt'],'Timeout',10);  
end

clear m1 m2 i ans

%%%%
 
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 16.04.2016, 14:42     Titel: Re: Backdoor zum Auslesen eines Identifiers einrichten
  Antworten mit Zitat      
Hallo Nik9090,

Ich verstehe Deine Frage nicht. Möchtest Du nach dem Inhalt von Files entscheiden, ob Du sie downloadest, bevor Du sie downgeloaded hast? Was meinst Du mit "Backdoor"? Was iost "10-K"?

Einige Zeilen im Code sind überflüssig und machen das Programm nur unübersichtlich:
Code:
clear a b c a1 a2
clear d i root ans
idx_data=cell(1);
n=size(index,2);
  % Dann einfach; idx_data(1:n,1)=index';
  idx_data = index';
clear f i index rex1 text n

rex1 = '10-K [^\n]*';  % War bereits so definiert
clear f i index rex1 text n z

  %  root=char(idx_data(i,1));  % Einfacher:
  root = idx_data{i};
  root=strtrim(root(99:150));
  extention{i} = root;

clear i root
i;

  %  2=char(extention(i,1)); Einfacher:
  m2 = extention{i};
clear m1 m2 i ans
 

Das clear-en der Variablen bringt überhaupt nichts in Matlab.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Nik9090
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 15.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2016, 15:37     Titel:
  Antworten mit Zitat      
Lieber Jan,

danke für deine bisherigen Verbesserungsvorschläge!

Bezüglich 10-K: 10-K bezeichnet Finanzreportings, die vierteljährlich der Amerikanischen Börsenaufsicht gemeldet werden. Darüberhinaus enthält das Portal, auf welches ich über den ftp-Zugang zugegriffen habe, noch weitere Formate, wie z.B 1-E, 2-E.

Wie hängt das mit dem Code zusammen? Im jetzigen Zustand schafft es das Programm bereits, anhand des Downloadlinks ausschließlich 10-K Filings "herauszulesen" und herunterzuladen. In dem Downloadlink ist jedoch auch die CIK (numerischer Identifizierer) enthalten. Wenn es nur eine Handvoll Firmen wäre, würde ich analog zum Auslesen der 10-K Dateien vorgehen, und schlichtweg manuell die unterschiedlichen Identifizierer (CIKs) in den Code einbauen.
Allerdings benötige ich die Berichte von etwa 2000-3000 Firmen, weswegen eine einfache Einbindung in den fließenden Code für mich nicht in Frage kommt.

Also "jein", ich möchte nach dem Inhalt des Downloadlinks entscheiden, ob er heruntergeladen wird. Wie schon im initialen Post verdeutlicht, hat der Downloadlink ja immer eine identische Struktur, nämlich: edgar/data/1326686/0001104659-08-021249.txt
Ich möchte also, dass er den numerischen Wert, in diesem Fall "1326686", mit einer lokal abgespeicherten Liste von Zahlen abgleicht und nur dann den Download startet, wenn sich die Zahl im Downloadlink mit einer Zahl in der Liste "matched".
Ich habe in diesem Zusammenhang von einer "Backdoor" gesprochen, weil sich das Programm ja die Information zum Abgleich aus einer lokalen Datei (.txt) von der Festplatte zieht.
Ich hoffe das konnte zum Verständnis beitragen.

Lieben Gruß,

Nik
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.04.2016, 21:40     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Ich möchte also, dass er den numerischen Wert, in diesem Fall "1326686", mit einer lokal abgespeicherten Liste von Zahlen abgleicht und nur dann den Download startet, wenn sich die Zahl im Downloadlink mit einer Zahl in der Liste "matched".


Das ist keine größe Sache. Nur eine Frage, die "lokal abgespeicherten Liste von Zahlen" liegt im workspace oder als txt Datei vor? Ich frage wegen dem Format...Zahlen, also wenn nicht anders deklariert als double, oder strings...also Zeichen. Wenn die Liste als txt Datei vorliegt, wäre vorab ein separates Einlesen der Liste und Abspeichern als mat Datei ratsam. Für so etwas lässt sich sehr gut die Import Data Funktion von Matlab nutzen.

Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
Nik9090
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 15.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2016, 21:57     Titel:
  Antworten mit Zitat      
Hallo DSP,

danke für den Tipp, habe deinen Anweisungen gefolgt und eine beispielhafte .txt-Datei erstellt und in eine .m-Datei umgewandelt (strings). Dateiname "CIK.m". Die Datei wird mir nun wie folgt angezeigt:
Code:
Ident = cell(9, 1);
Ident{1,1} = '0000029590';
Ident{2,1} = '0000003197';
Ident{3,1} = '0000002070';
Ident{4,1} = '0000002098';
Ident{5,1} = '0000747435';
Ident{6,1} = '0000313798';
Ident{7,1} = '0000351483';
Ident{8,1} = '0000109471';
Ident{9,1} = '0000002809';


Könntest du mir gegebenfalls weiterhelfen, wie ich, wieoben beschrieben, das Ganze nun mit den CIKs aus dem Download-Link "matche"? Stehe hier grad echt gehörig auf dem Schlauch! Rolling Eyes

Grüße,

Nik
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.04.2016, 22:02     Titel:
  Antworten mit Zitat      
In der Liste hat aber ein Eintrag 10 Zeichen und '1326686' sind nur 7 Zeichen. Soll dann jeder Eintrag aus der Liste nur auf die ersten 7 Zeichen hin überprüft werden?
Private Nachricht senden Benutzer-Profile anzeigen
 
Nik9090
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 15.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2016, 22:12     Titel:
  Antworten mit Zitat      
Sorry, mein Fehler, bei angegebenem Beispiel "1326686" fehlen schlichtweg die Nullen: "0001326686" wäre die vollständige CIK. Allerdings steht im Downloadlink nur die abbrevierte Form, also ohne die Nullen. Denkst du es genügt die Liste als double anzulegen, um die Nullen "loszuwerden"? Falls ja, dann sieht die neue Liste, wie folgt aus:
Code:

CIK = [29590; 3197; 2070; 2098; 747435; 313798; 351483; 109471; 2809];

 


Allerdings müsste man dann sicherstellen, dass er "2098" auch nur mit "2098" matched und nicht zum Beispiel auch mit "1010102098". Was denkst du, ist da das geschickteste Vorgehen?

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.04.2016, 22:25     Titel:
  Antworten mit Zitat      
In dem Fall ist es einfacher die fehlenden Nullen als string vorn anzufügen. Das wäre ein Möglichkeit die Zahl aus dem Link mit der Liste zu vergleichen:

Code:

link = 'edgar/data/313798/0001104659-08-021249.txt';
idxstr = strfind(link,'/data/');
idxend = strfind(link,'/');
strzeros = {'';'0';'00';'000';'0000';'00000';'000000';'0000000';'00000000';'000000000'};
addzeros = 10 - numel(link(idxstr+6:idxend(3)-1)) + 1;
% füge entsprechend Nullen hinzu für 10-stellige Zahl: hier im Bsp. 0000313798
num = [strzeros{addzeros} link(idxstr+6:idxend(3)-1)];

% Liste
Ident = cell(9, 1);
Ident{1,1} = '0000029590';
Ident{2,1} = '0000003197';
Ident{3,1} = '0000002070';
Ident{4,1} = '0000002098';
Ident{5,1} = '0000747435';
Ident{6,1} = '0000313798';
Ident{7,1} = '0000351483';
Ident{8,1} = '0000109471';
Ident{9,1} = '0000002809';

% Suche Nummer in Liste
match = sum(strcmp(num,Ident));

if match == 1
    % Nummer in Liste gefunden
end
 


Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
Nik9090
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 15.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2016, 22:52     Titel:
  Antworten mit Zitat      
Danke sehr! Scheint mit dem Beispiel schon gut zu klappen. War jedoch meinerseits etwas unpräzise formuliert, da er mir nun - logischerweise nur immer wieder den gleichen Report runterlädt - nämlich den Beispiellink. Dh. in dem Fall den Quartalsbericht 31.03.2008 für die CIK 313798.
Wie schaffe ich es denn, dass er quasi nacheinander die 9 CIKs einliest, abgleicht und downloaded. In einem Loop quasi.
Statt nur nach "313798" und dem 31.03.2008 zu suchen und dies herunterzuladen, soll er ja vielmehr die Indexdateien nach allen 9 CIKs durchsuchen und jeweils alle verfügbaren Reportings im Zeitraum 2008 bis 2015 auf der Festplatte speichern.

Entweder ich überreiß grad etwas nicht oder hätte mich da vielleicht präziser ausdrücken sollen. In jedem Fall, sorry.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 16.04.2016, 23:01     Titel:
  Antworten mit Zitat      
Die 9 CIKs sind dann auf 9 Links verteilt? Wenn ja, eine for Schleife für meinen Code außer der Liste verwenden und in jedem Umlauf einen neuen Link nehmen. Wenn die Nummer in der Liste gefunden wird (if Anweisung), Report heruntenladen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Nik9090
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 15.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.04.2016, 23:13     Titel:
  Antworten mit Zitat      
Ja, so in etwa, der nachgeordnete Ordner hinter der CIK enthält für jede CIK folglich 32 10-K Filings, die er mir runtersaugen soll.
ftp://ftp.sec.gov/edgar/data/CIK/(...)
Muss mich da Morgen mit frischem Kopf nochmal dransetzen. Wenn man in MatLab nicht ganz versiert ist, hat es das alles ziemlich in sich Wink
In jedem Fall danke! Für den Fall, dass ich das jetzt nicht auf die Reihe kriege, würde ich mich einfach nochmal hier an dich wenden!

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Nik9090
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 15.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2016, 12:21     Titel:
  Antworten mit Zitat      
Guten Morgen,
beim Umsetzen des Lösungsvorschlages bin ich auf das Problem gestoßen, dass ein reines Austauschen der CIKs im Downloadlink nicht zum gewünschten Ergebnis führt, da im nachgeordneten Ordner die Dateien wieder individuell benannt sind, weswegen er mir immer wieder die gleiche Datei runterlädt. Wäre es nicht vielleicht möglich, dass ich es, wie bereits mit dem Ausdruck "10-K" schon früher im Programm geschehen, eben nun die überflüssigen CIK aussortiere.
In anderen Worten, dass man den nachfolgenden Block dahingehend anpasst, dass an der entsprechenden Stelle geprüft wird, ob eine CIK aus der Liste enthalten ist und falls nicht, garnicht erst eingelesen wird.
Der anzupassende Block, wäre mMn:
Code:
idx_data=cell(1);
f= fullfile(['D:\SEC\10-K\form (' num2str(1) ').idx']);
text=fileread(f);
rex1 = '10-K [^\n]*';
[index]=regexpi(text,rex1,'match');
n=size(index,2);
idx_data(1:n,1)=index';


Eine Zeile in der .idx-Datei die nach ausführen des o.g Blocks entstanden ist, lautet z.B:
'10-K 155 East Tropicana Finance Corp. 1326686 2008-03-31 edgar/data/1326686/0001104659-08-021249.txt '

Es müsste doch möglich sein, dass man diesem Block einen weiteren Block nachschaltet, der quasi das vorgehen wiederholt nur eben die CIKs statt dem Begriff "10-K" matched.
Im Prinzip, kann ich den Block mMn ja nahezu identisch übernehmen, aber wie schaffe ich es, dass er genau an der Stelle sucht, wo die CIK steht und dann auch die eine komplette Liste durchsucht und nicht nur die erste CIK?
Habt ihr dazu Lösungsvorschläge?

Danke und Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 17.04.2016, 14:07     Titel:
  Antworten mit Zitat      
Hallo,

ehrlich gesagt verstehe ich dein Problem noch nicht.

Zitat:

Wäre es nicht vielleicht möglich, dass ich es, wie bereits mit dem Ausdruck "10-K" schon früher im Programm geschehen, eben nun die überflüssigen CIK aussortiere.

'10-K 155 East Tropicana Finance Corp. 1326686 2008-03-31 edgar/data/1326686/0001104659-08-021249.txt '

Es müsste doch möglich sein, dass man diesem Block einen weiteren Block nachschaltet, der quasi das vorgehen wiederholt nur eben die CIKs statt dem Begriff "10-K" matched.


Was für ein Block? Poste doch mal bitte was nun genau aus dem String gesucht werden soll bzw. was ändert sich an dem String, wenn eine andere Datei überprüft werden soll.

Beispiele sind i.d.R. einfacher zu verstehen als eine Textbeschreibung. Also am besten 2-3 repräsantive Strings und was daraus gesucht bzw. ersetzt werden soll.

Gruß DSP
Private Nachricht senden Benutzer-Profile anzeigen
 
Nik9090
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 15.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.04.2016, 14:47     Titel:
  Antworten mit Zitat      
Im ersten Schritt, schreibt das Programm für 32 Quartale eine vollständige Indexdatei, die von der entsprechenden Website heruntergeladen wird. In dieser Indexdatei sind nicht nur 10-K-Filings aufgeführt, sondern auch x-andere Berichtsformate. Wenn man die .idx in Wordpad öffnet, stellt sich dies z.B wie folgt dar:
(...)
10-D Bear Stearns Commercial Mortgage Securities Trust 2007-PWR17 1411136 2008-01-28 edgar/data/1411136/0001056404-08-000484.txt
10-K Kandi Technologies Corp 1316517 2008-03-31 edgar/data/1316517/0001144204-08-018680.txt
10-K Kansas City Southern de Mexico, S.A. de C.V. 1055294 2008-02-15 edgar/data/1055294/0000950137-08-002403.txt
10-K Kimball Hill, Inc. 1357062 2008-01-15 edgar/data/1357062/0001047469-08-000291.txt
10-K Kodiak Oil & Gas Corp 1322866 2008-03-14 edgar/data/1322866/0001047469-08-002716.txt
(...)

Ich habe also nun zunächsteinmal 32 riesige Indexdateien, die alle möglichen Berichtsformate enthalten, sei es 10-K, 10-D etc.pp.
Im nachfolgenden Schritt, den ich oben als "Block" bezeichnet habe, liest das Programm die Indexdateien ja aus, jedoch eben nur diejenigen für die gilt:
Code:
rex1 = '10-K [^\n]*'


Dementsprechend, würde das obige Programm, wenn ich nicht nach CIK filtere, den ersten String nicht downloaden, da er ja das Filingformat "10-D" hat und eben nicht "10-K".
Folglich, möchte ich es realisieren, dass mein Programm beides prüft; also quasi eine UND Verknüpfung, im Sinne von:
"Prüfe ob rex1 = '10-K [^\n]* UND prüfe, ob im Download eine CIK auftaucht, die in der Liste(Ident) enthalten ist". Wenn beides WAHR ist, dann soll er erst damit beginnen die folgenden Schritte auszuführen, sodass am Ende eben nur 10-K Filings mit den entsprechenden, in der Liste definierten CIKs heruntergeladen werden.
Nachfolgend noch einmal das jetzige Programm mit Anmerkungen, das mir quasi alle 10-K Filings aller Firmen (82979 Stück Shocked ) herunterladen würde:
Code:

a1=2008:2015;
a2=repmat(a1,4,1);
a=reshape(a2,32,1);
b=repmat([1;2;3;4],8,1);
c=1:32;
d=[a b c'];


for i=1:32;
root=['ftp://ftp.sec.gov/edgar/full-index/' num2str(d(i,1)) '/QTR' num2str(d(i,2)) '/form.idx'];
urlwrite(root, ['D:\SEC\10-K\form (' num2str(d(i,3)) ').idx']);
end
% Indexdateien wurden erstellt
idx_data=cell(1);
f= fullfile(['D:\SEC\10-K\form (' num2str(1) ').idx']);
text=fileread(f);
rex1 = '10-K [^\n]*';
[index]=regexpi(text,rex1,'match');
n=size(index,2);
idx_data(1:n,1)=index';
clear f i index rex1 text n
% Ausschließlich 10-K Filings werden eingelesen.
for i=2:32;
f= fullfile(['D:\SEC\10-K\form (' num2str(i) ').idx']);
text=fileread(f);
rex1 = '10-K [^\n]*';
[index]=regexpi(text,rex1,'match');

z=size(idx_data,1);
n=size(index,2);
idx_data(z+1:n+z,1)=index';

end
% Hier soll dann noch ein zweiter Loop mittels z.B UND-Verknüpfung
% eingebaut werden, der verhindert,dass alle 10-K Filings eingelesen werden
% sondern nur diejenigen, die mittels der CIK-Liste ausgewählt wurden.
size(idx_data,1);
for i=1:32;
    root = idx_data{i};
    root=strtrim(root(99:150));
     extention{i} = root;
end  
% Downloadlinks der 10-K Filings werden erzeugt
% Ergebnis z.B: edgar/data/712034/0001047469-08-002056.txt
for i=1:32;
    m1='ftp://ftp.sec.gov/';
    m2 = extention{i};
 urlwrite([m1 m2],['D:\SEC\10-K\form\' num2str(i) '.txt'],'Timeout',10);  
end
% Download wird mittels o.g. Downloadlinks durchgeführt
%%%%


Ich hoffe damit wird es klarer. Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 17.04.2016, 18:04     Titel:
  Antworten mit Zitat      
Ehrlich gesagt bin ich noch nicht viel schlauer. Dein Code nützt mir nichts, da nicht für mich ausführbar.

Zitat:

"Prüfe ob rex1 = '10-K [^\n]* UND prüfe, ob im Download eine CIK auftaucht, die in der Liste(Ident) enthalten ist". Wenn beides WAHR ist, dann soll er erst damit beginnen die folgenden Schritte auszuführen, sodass am Ende eben nur 10-K Filings mit den entsprechenden, in der Liste definierten CIKs heruntergeladen werden.


Was heißt im Download? Ich denke es geht nach der Nummer hinter /data/? Du hast ja offensichtlich schon alle 10-K files ermittelt. Wo ist nun das Problem aus diesen files die Nummer zu suchen und mit der Liste abzugleichen?

Aus diesem Beispiel müssten letztendlich die beiden Strings mit den fettgedruckten Nummern gefunden und anschließend heruntergeladen werden?

Zitat:
10-D Bear Stearns Commercial Mortgage Securities Trust 2007-PWR17 1411136 2008-01-28 edgar/data/1411136/0001056404-08-000484.txt
10-K Kandi Technologies Corp 1316517 2008-03-31 edgar/data/1316517/0001144204-08-018680.txt
10-K Kansas City Southern de Mexico, S.A. de C.V. 1055294 2008-02-15 edgar/data/1055294/0000950137-08-002403.txt
10-K Kimball Hill, Inc. 1357062 2008-01-15 edgar/data/1357062/0001047469-08-000291.txt
10-K Kodiak Oil & Gas Corp 1322866 2008-03-14 edgar/data/1322866/0001047469-08-002716.txt


Oder ist das dann immer noch nicht alles?

Zuletzt bearbeitet von DSP am 17.04.2016, 18:27, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.