Page 2 of 2 FirstFirst 12
Results 16 to 23 of 23
  1. #16
    Xipooo's Avatar
    Xipooo is offline Sr. Database Developer
    Windows 8 Access 2013
    Join Date
    Jan 2014
    Location
    Arizona
    Posts
    332
    I know this isn't specifically related to your question, but take it from someone who has written their own stock analysis Access databases... you need to use SQL server for your data tables. Access will not store the quantity of data you need to hold.

    Also, it appears your doing 1 second intervals, or perhaps even bid by bid data. You may find your data exceeds the file size limitations with just 1 weeks worth of data from a single symbol. If you are planning on doing any calculations of the data on top of that, you will find it better to perform your calculations within SQL Server via stored procedures. Access will not give you actionable results if it has to pull the data through a linked table to do the calculations. I say this all from very much first hand experience.

  2. #17
    ItsMe's Avatar
    ItsMe is offline Sometimes Helpful
    Windows 8 Access 2013
    Join Date
    Aug 2013
    Posts
    7,862
    Quote Originally Posted by Xipooo View Post
    ... Access will not store the quantity of data you need to hold...
    I wonder if, from a money perspective, Azure SQL Database (PaaS) would be feasible. At least you would be able to pay as you go.

  3. #18
    Xipooo's Avatar
    Xipooo is offline Sr. Database Developer
    Windows 8 Access 2013
    Join Date
    Jan 2014
    Location
    Arizona
    Posts
    332
    Quote Originally Posted by ItsMe View Post
    I wonder if, from a money perspective, Azure SQL Database (PaaS) would be feasible. At least you would be able to pay as you go.
    Storage choices can get tough. Although Azure is nice in that you can expand your size at will (same with AWS), it is fairly costly to do so. My personal database which calculates buys and sells on a daily basis, takes about 9 hours to process on a 12 core processor with 8 gigs of ram. The SQL DB varies in size from 250Gb to 350Gb depending on how far back I want my data to go. Most of that is in a table that is filled with my calculation data though, and not the stock data itself. I only pull daily results... he looks to be going with trade by trade data. Stock volume for a single stock could range from 100 transactions in a day (almost never that low) to 1 million transactions. Additionally the CSV files typically come as one file per symbol, or one file per day depending on the data you're requesting and the service you subscribe to. In that way, a single table holding only that stocks information is the most common way the data is organized.

    What I'm getting at here is that Azure might be a good starting point, but in the end you want your own local server doing the work. If I were him I'd be setting his beefy server up to run just SQL server and nothing else. Then build an Access client that just asks what's going on once in a while. Let the SQL Server and stored procedures do the work.

  4. #19
    ItsMe's Avatar
    ItsMe is offline Sometimes Helpful
    Windows 8 Access 2013
    Join Date
    Aug 2013
    Posts
    7,862
    Quote Originally Posted by Xipooo View Post
    ... Let the SQL Server and stored procedures do the work.
    With the stats you posted, it seems best to have an on premises server. There are some premium hardware offers using PaaS, though. One thing that seems certain, Access or SQL Express isn't going to cut it as an RDBMS.

  5. #20
    Hswift is offline Novice
    Windows 8 Access 2013
    Join Date
    Dec 2015
    Posts
    20
    Quote Originally Posted by Ajax View Post
    go into table design, select the field to be indexed and in the properties select 'indexed - no duplicates' for row and 'indexed - duplicates OK' for stockid
    I tried this and Microsoft Access still froze. Here is a link to the data I am trying to do this to (data contains Quotes only, no Trades) and the code I am using.
    https://www.dropbox.com/s/frre6qb3oi...erial.zip?dl=0
    Please try it on your end and let me know if Access freezes on you too.

    Thanks

  6. #21
    CJ_London is online now VIP
    Windows 8 Access 2010 32bit
    Join Date
    Mar 2015
    Posts
    11,430
    as per my suggestion in post #13 this took a few seconds to run
    Code:
    SELECT c.row, c.quotedate, c.timestamps, iif(p.bidorask= "B",p.pricequote,c.pricequote) AS bidprice, iif(p.bidorask="A",p.pricequote,c.pricequote) AS askprice, iif(p.bidorask= "B",p.quotevolume,c.quotevolume) AS bidvolume, iif(p.bidorask="A",p.quotevolume,c.quotevolume) AS askvolume
    FROM table1 AS C inner join table1 AS P on p.row=c.row-1

  7. #22
    Hswift is offline Novice
    Windows 8 Access 2013
    Join Date
    Dec 2015
    Posts
    20
    Thanks Ajax, that worked!


    Xipooo, thanks for the info as well. Xipooo, I am a relative begginer programmer and just have experience writing simple scripts, I've never done any sort of work with databases (aside from what I've used Access for as described in this thread).

    How would I go about using a SQL server exactly? Would I simply install Access onto a SQL server and operate Access as if it were on my personal desktop? Or is it more complex then that?




  8. #23
    Hswift is offline Novice
    Windows 8 Access 2013
    Join Date
    Dec 2015
    Posts
    20
    Hi Ajax,

    I just ran the code from post #21 on the data in the link from post #20 and found an error seems to come up in the last 4 columns of every other row. See examples from the results below.

    row 1534= The last 4 columns of this row are wrong.
    row 1534 current results=1534,20151129,170155704,208825,208825,18,1 9
    row 1534 corrected results=1534,20151129,170155704,208825,208850,19,2 9

    row 1535= This row is correct.
    row 1534 current results= 1535,20151129,170155704,208825,208850,19,28

    row 1536= The last 4 columns of this row are wrong.
    row 1536 current results=1536,20151129,170155708,208850,208850,29,2 8
    row 1536 corrected results= 1536,20151129,170155708,208825,208850,19,29

    Any idea why this is happening?

    Anyway, thanks so much for your help so far one way or another!

    (P.S. As I think you may have noticed, one of the columns in the data in the link from post 20 is spelled wrong. It is written as “timsetamps” instead of “timestamps”. I corrected this spelling mistake before running the code, but still found the errors mentioned above. thnx again!)

Page 2 of 2 FirstFirst 12
Please reply to this thread with any new information or opinions.

Similar Threads

  1. help merge rows in query
    By pika2112 in forum Access
    Replies: 1
    Last Post: 12-10-2014, 10:24 AM
  2. Replies: 4
    Last Post: 02-25-2014, 01:09 AM
  3. Replies: 0
    Last Post: 02-09-2012, 05:43 PM
  4. Replies: 2
    Last Post: 08-28-2011, 06:06 AM
  5. merge or concatenate two rows in one
    By vojinb in forum Queries
    Replies: 7
    Last Post: 08-03-2011, 09:15 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Other Forums: Microsoft Office Forums