Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
image166.gif | 2023-12-21 | 811 Bytes | |
image168.gif | 2023-12-21 | 422 Bytes | |
image170.gif | 2023-12-21 | 321 Bytes | |
image164.gif | 2023-12-21 | 643 Bytes | |
image162.gif | 2023-12-21 | 215 Bytes | |
image154.gif | 2023-12-21 | 389 Bytes | |
image156.gif | 2023-12-21 | 357 Bytes | |
image158.gif | 2023-12-21 | 374 Bytes | |
image160.gif | 2023-12-21 | 365 Bytes | |
image151.png | 2023-12-21 | 19.5 kB | |
image152.jpg | 2023-12-21 | 21.3 kB | |
image146.gif | 2023-12-21 | 380 Bytes | |
image148.gif | 2023-12-21 | 391 Bytes | |
image150.gif | 2023-12-21 | 366 Bytes | |
image144.jpg | 2023-12-21 | 21.8 kB | |
image142.jpg | 2023-12-21 | 20.9 kB | |
image143.png | 2023-12-21 | 19.5 kB | |
image139.png | 2023-12-21 | 18.7 kB | |
image140.jpg | 2023-12-21 | 20.3 kB | |
image141.png | 2023-12-21 | 18.6 kB | |
image135.gif | 2023-12-21 | 427 Bytes | |
image137.gif | 2023-12-21 | 278 Bytes | |
image132.png | 2023-12-21 | 19.1 kB | |
image133.jpg | 2023-12-21 | 21.8 kB | |
image131.jpg | 2023-12-21 | 20.2 kB | |
image130.png | 2023-12-21 | 18.5 kB | |
image125.jpg | 2023-12-21 | 21.8 kB | |
image127.gif | 2023-12-21 | 241 Bytes | |
image129.gif | 2023-12-21 | 260 Bytes | |
image121.gif | 2023-12-21 | 629 Bytes | |
image123.gif | 2023-12-21 | 331 Bytes | |
image124.png | 2023-12-21 | 19.4 kB | |
image117.jpg | 2023-12-21 | 21.3 kB | |
image119.gif | 2023-12-21 | 514 Bytes | |
image115.jpg | 2023-12-21 | 22.3 kB | |
image116.png | 2023-12-21 | 18.3 kB | |
image113.jpg | 2023-12-21 | 22.5 kB | |
image114.png | 2023-12-21 | 19.6 kB | |
image112.png | 2023-12-21 | 20.0 kB | |
image110.png | 2023-12-21 | 19.0 kB | |
image111.jpg | 2023-12-21 | 21.0 kB | |
image108.png | 2023-12-21 | 19.7 kB | |
image109.jpg | 2023-12-21 | 21.4 kB | |
image107.jpg | 2023-12-21 | 24.2 kB | |
image104.png | 2023-12-21 | 19.8 kB | |
image105.jpg | 2023-12-21 | 23.3 kB | |
image106.png | 2023-12-21 | 20.0 kB | |
image102.png | 2023-12-21 | 20.2 kB | |
image103.jpg | 2023-12-21 | 23.8 kB | |
image099.jpg | 2023-12-21 | 23.2 kB | |
image100.png | 2023-12-21 | 19.0 kB | |
image101.jpg | 2023-12-21 | 22.0 kB | |
image097.gif | 2023-12-21 | 383 Bytes | |
image098.png | 2023-12-21 | 19.8 kB | |
image094.png | 2023-12-21 | 19.8 kB | |
image095.jpg | 2023-12-21 | 25.0 kB | |
image091.gif | 2023-12-21 | 818 Bytes | |
image093.gif | 2023-12-21 | 258 Bytes | |
image089.gif | 2023-12-21 | 1.4 kB | |
image086.png | 2023-12-21 | 20.3 kB | |
image087.jpg | 2023-12-21 | 25.9 kB | |
image084.png | 2023-12-21 | 21.9 kB | |
image085.jpg | 2023-12-21 | 29.9 kB | |
image083.jpg | 2023-12-21 | 29.5 kB | |
image081.jpg | 2023-12-21 | 3.0 kB | |
image082.png | 2023-12-21 | 21.8 kB | |
image080.png | 2023-12-21 | 979 Bytes | |
image077.jpg | 2023-12-21 | 28.6 kB | |
image078.png | 2023-12-21 | 16.7 kB | |
image079.jpg | 2023-12-21 | 13.2 kB | |
image074.png | 2023-12-21 | 1.5 kB | |
image075.jpg | 2023-12-21 | 2.4 kB | |
image076.png | 2023-12-21 | 21.1 kB | |
image069.png | 2023-12-21 | 16.3 kB | |
image070.jpg | 2023-12-21 | 13.5 kB | |
image071.png | 2023-12-21 | 18.0 kB | |
image072.jpg | 2023-12-21 | 11.9 kB | |
image073.gif | 2023-12-21 | 2.7 kB | |
image067.png | 2023-12-21 | 18.7 kB | |
image068.jpg | 2023-12-21 | 22.9 kB | |
image066.jpg | 2023-12-21 | 25.4 kB | |
image064.jpg | 2023-12-21 | 444 Bytes | |
image065.png | 2023-12-21 | 20.1 kB | |
image059.png | 2023-12-21 | 20.9 kB | |
image061.png | 2023-12-21 | 185 Bytes | |
image062.jpg | 2023-12-21 | 450 Bytes | |
image063.png | 2023-12-21 | 167 Bytes | |
image057.png | 2023-12-21 | 20.7 kB | |
image058.jpg | 2023-12-21 | 20.7 kB | |
image053.png | 2023-12-21 | 2.6 kB | |
image054.jpg | 2023-12-21 | 7.3 kB | |
image055.png | 2023-12-21 | 19.5 kB | |
image056.jpg | 2023-12-21 | 19.1 kB | |
image051.png | 2023-12-21 | 6.8 kB | |
image052.jpg | 2023-12-21 | 10.4 kB | |
image048.jpg | 2023-12-21 | 6.7 kB | |
image049.png | 2023-12-21 | 3.4 kB | |
image050.jpg | 2023-12-21 | 5.8 kB | |
image045.png | 2023-12-21 | 3.7 kB | |
image046.jpg | 2023-12-21 | 6.7 kB | |
image047.png | 2023-12-21 | 3.5 kB | |
image042.jpg | 2023-12-21 | 3.6 kB | |
image043.png | 2023-12-21 | 20.5 kB | |
image044.jpg | 2023-12-21 | 19.8 kB | |
image039.png | 2023-12-21 | 2.1 kB | |
image040.jpg | 2023-12-21 | 4.2 kB | |
image041.png | 2023-12-21 | 2.1 kB | |
image037.png | 2023-12-21 | 21.2 kB | |
image038.jpg | 2023-12-21 | 19.0 kB | |
image035.png | 2023-12-21 | 19.2 kB | |
image036.jpg | 2023-12-21 | 18.2 kB | |
image032.jpg | 2023-12-21 | 15.2 kB | |
image033.png | 2023-12-21 | 1.5 kB | |
image034.jpg | 2023-12-21 | 2.0 kB | |
image031.png | 2023-12-21 | 17.9 kB | |
image029.png | 2023-12-21 | 21.6 kB | |
image030.jpg | 2023-12-21 | 23.8 kB | |
image027.png | 2023-12-21 | 21.6 kB | |
image028.jpg | 2023-12-21 | 24.9 kB | |
image026.jpg | 2023-12-21 | 25.9 kB | |
image024.jpg | 2023-12-21 | 22.8 kB | |
image025.png | 2023-12-21 | 22.5 kB | |
image023.png | 2023-12-21 | 21.3 kB | |
image022.jpg | 2023-12-21 | 20.0 kB | |
image018.jpg | 2023-12-21 | 22.9 kB | |
image019.png | 2023-12-21 | 19.7 kB | |
image020.jpg | 2023-12-21 | 24.9 kB | |
image021.png | 2023-12-21 | 19.3 kB | |
image015.png | 2023-12-21 | 21.8 kB | |
image016.jpg | 2023-12-21 | 20.0 kB | |
image017.png | 2023-12-21 | 18.6 kB | |
image012.jpg | 2023-12-21 | 5.7 kB | |
image013.png | 2023-12-21 | 18.9 kB | |
image014.jpg | 2023-12-21 | 17.9 kB | |
image009.png | 2023-12-21 | 3.4 kB | |
image010.jpg | 2023-12-21 | 3.4 kB | |
image011.png | 2023-12-21 | 2.1 kB | |
image008.jpg | 2023-12-21 | 14.1 kB | |
image004.jpg | 2023-12-21 | 3.2 kB | |
image005.png | 2023-12-21 | 9.0 kB | |
image006.jpg | 2023-12-21 | 7.0 kB | |
image007.png | 2023-12-21 | 20.3 kB | |
image003.png | 2023-12-21 | 2.7 kB | |
oledata.mso | 2023-12-21 | 1.1 MB | |
image002.jpg | 2023-12-21 | 1.4 kB | |
image001.png | 2023-12-21 | 1.9 kB | |
filelist.xml | 2023-12-21 | 8.7 kB | |
header.htm | 2023-12-21 | 3.2 kB | |
image327.wmz | 2023-12-21 | 567 Bytes | |
image328.wmz | 2023-12-21 | 581 Bytes | |
image329.wmz | 2023-12-21 | 594 Bytes | |
image324.wmz | 2023-12-21 | 585 Bytes | |
image325.wmz | 2023-12-21 | 471 Bytes | |
image326.wmz | 2023-12-21 | 806 Bytes | |
image322.wmz | 2023-12-21 | 275 Bytes | |
image323.wmz | 2023-12-21 | 344 Bytes | |
image319.wmz | 2023-12-21 | 381 Bytes | |
image320.wmz | 2023-12-21 | 510 Bytes | |
image321.wmz | 2023-12-21 | 383 Bytes | |
image316.wmz | 2023-12-21 | 315 Bytes | |
image317.wmz | 2023-12-21 | 456 Bytes | |
image318.wmz | 2023-12-21 | 757 Bytes | |
image311.wmz | 2023-12-21 | 344 Bytes | |
image312.wmz | 2023-12-21 | 432 Bytes | |
image313.wmz | 2023-12-21 | 950 Bytes | |
image314.wmz | 2023-12-21 | 1.1 kB | |
image315.wmz | 2023-12-21 | 1.1 kB | |
image308.wmz | 2023-12-21 | 249 Bytes | |
image309.wmz | 2023-12-21 | 1.2 kB | |
image310.wmz | 2023-12-21 | 1.1 kB | |
image306.wmz | 2023-12-21 | 421 Bytes | |
image307.wmz | 2023-12-21 | 581 Bytes | |
image305.wmz | 2023-12-21 | 631 Bytes | |
image304.wmz | 2023-12-21 | 541 Bytes | |
image300.wmz | 2023-12-21 | 798 Bytes | |
image301.wmz | 2023-12-21 | 786 Bytes | |
image302.wmz | 2023-12-21 | 376 Bytes | |
image303.wmz | 2023-12-21 | 529 Bytes | |
image298.wmz | 2023-12-21 | 465 Bytes | |
image299.wmz | 2023-12-21 | 464 Bytes | |
image294.wmz | 2023-12-21 | 538 Bytes | |
image295.wmz | 2023-12-21 | 915 Bytes | |
image296.wmz | 2023-12-21 | 692 Bytes | |
image297.wmz | 2023-12-21 | 840 Bytes | |
image290.wmz | 2023-12-21 | 747 Bytes | |
image291.wmz | 2023-12-21 | 480 Bytes | |
image292.wmz | 2023-12-21 | 1.0 kB | |
image293.wmz | 2023-12-21 | 1.0 kB | |
image288.wmz | 2023-12-21 | 744 Bytes | |
image289.wmz | 2023-12-21 | 737 Bytes | |
image284.wmz | 2023-12-21 | 497 Bytes | |
image285.wmz | 2023-12-21 | 618 Bytes | |
image286.wmz | 2023-12-21 | 839 Bytes | |
image287.wmz | 2023-12-21 | 741 Bytes | |
image280.wmz | 2023-12-21 | 442 Bytes | |
image281.wmz | 2023-12-21 | 633 Bytes | |
image282.wmz | 2023-12-21 | 697 Bytes | |
image283.wmz | 2023-12-21 | 562 Bytes | |
image277.wmz | 2023-12-21 | 524 Bytes | |
image278.wmz | 2023-12-21 | 521 Bytes | |
image279.wmz | 2023-12-21 | 472 Bytes | |
image275.wmz | 2023-12-21 | 523 Bytes | |
image276.wmz | 2023-12-21 | 527 Bytes | |
image273.wmz | 2023-12-21 | 528 Bytes | |
image274.wmz | 2023-12-21 | 528 Bytes | |
image269.wmz | 2023-12-21 | 484 Bytes | |
image270.wmz | 2023-12-21 | 530 Bytes | |
image271.wmz | 2023-12-21 | 442 Bytes | |
image272.wmz | 2023-12-21 | 445 Bytes | |
image266.wmz | 2023-12-21 | 614 Bytes | |
image267.wmz | 2023-12-21 | 503 Bytes | |
image268.wmz | 2023-12-21 | 487 Bytes | |
image263.wmz | 2023-12-21 | 470 Bytes | |
image264.wmz | 2023-12-21 | 501 Bytes | |
image265.wmz | 2023-12-21 | 589 Bytes | |
image260.jpg | 2023-12-21 | 23.7 kB | |
image261.wmz | 2023-12-21 | 720 Bytes | |
image262.wmz | 2023-12-21 | 620 Bytes | |
image259.gif | 2023-12-21 | 1.6 kB | |
image255.gif | 2023-12-21 | 699 Bytes | |
image257.gif | 2023-12-21 | 736 Bytes | |
image249.gif | 2023-12-21 | 1.2 kB | |
image251.gif | 2023-12-21 | 328 Bytes | |
image253.gif | 2023-12-21 | 869 Bytes | |
image244.gif | 2023-12-21 | 862 Bytes | |
image246.gif | 2023-12-21 | 307 Bytes | |
image236.gif | 2023-12-21 | 1.1 kB | |
image238.gif | 2023-12-21 | 2.5 kB | |
image240.gif | 2023-12-21 | 718 Bytes | |
image242.gif | 2023-12-21 | 1.5 kB | |
image234.gif | 2023-12-21 | 359 Bytes | |
image230.gif | 2023-12-21 | 2.3 kB | |
image232.gif | 2023-12-21 | 2.7 kB | |
image228.gif | 2023-12-21 | 1.9 kB | |
image222.gif | 2023-12-21 | 2.5 kB | |
image224.gif | 2023-12-21 | 352 Bytes | |
image226.gif | 2023-12-21 | 829 Bytes | |
image218.gif | 2023-12-21 | 207 Bytes | |
image220.gif | 2023-12-21 | 2.7 kB | |
image214.gif | 2023-12-21 | 543 Bytes | |
image216.gif | 2023-12-21 | 1.2 kB | |
image212.gif | 2023-12-21 | 1.4 kB | |
image206.gif | 2023-12-21 | 375 Bytes | |
image208.gif | 2023-12-21 | 1.2 kB | |
image210.gif | 2023-12-21 | 1.3 kB | |
image202.gif | 2023-12-21 | 819 Bytes | |
image204.gif | 2023-12-21 | 978 Bytes | |
image194.gif | 2023-12-21 | 501 Bytes | |
image196.gif | 2023-12-21 | 1.1 kB | |
image198.gif | 2023-12-21 | 228 Bytes | |
image200.gif | 2023-12-21 | 237 Bytes | |
image190.gif | 2023-12-21 | 321 Bytes | |
image192.gif | 2023-12-21 | 1.6 kB | |
image188.gif | 2023-12-21 | 2.1 kB | |
image180.gif | 2023-12-21 | 942 Bytes | |
image182.gif | 2023-12-21 | 965 Bytes | |
image184.gif | 2023-12-21 | 227 Bytes | |
image186.gif | 2023-12-21 | 2.1 kB | |
image172.gif | 2023-12-21 | 534 Bytes | |
image174.gif | 2023-12-21 | 1.0 kB | |
image176.gif | 2023-12-21 | 965 Bytes | |
image178.gif | 2023-12-21 | 943 Bytes | |
Totals: 262 Items | 3.1 MB | 0 |
PocketNumerix repository notes (2023-Dec-21): This repo contains a suite of smartphone scale computational finance tools, their common installer, and some of the web technology (license key generation, Rijndael256 encryption/decryption) behind the online store. The last time I looked at this code, documentation, web resources, etc. was in December 2009. Ive forgotten a lot of the outstanding issues, but a few ToDo files sprinkled around may help. StockMiner and OptionMiner are Windows desktop apps for testing Yahoo Finance scrape & parse. Those capabilities were integrated into NillaHedge. WebEncodeDecode is a custom extension of a SquirrelCart web store that creates a BillOfMaterials file (with license keys encoded to the email address) that the store emails to the customer. The user would separately download PNMX_Installer, place the BOM file into the installer folder and run it. Once launched, the installer would download and decrypt the encrypted {signed executable(s)} stored as .crp files in the public_html/Install_Process/Supplies folder, decrypt the ones called out in the BOM and install/register the license keys. Inconveniently, I forgot how the public_html/Install_Process/mime/*.mime and public_html/Install_Process/cfg/*.cfg files factor into the BOM generation, encryption, and decryption processes, so it will take a little experimentation to recover how I was securing the intellectual property. Hopefully, Android/Google Play and IOS/Apple App Store have all of that institutionalized by now, so maybe superfluous and irrelevant now. NillaHedge incorporated that same decryption to download from a cloud-resident cache of option chains (to minimize hits on the data source). So, heres the beef Application folders - BondManager, NillaHedge, StrategyExplorer, and YieldCurveFitter - contain sources (based on the Windows Mobile 5 SDK), Visual Studio 2005 project files, and sometimes revision/ToDo notes. Migrating to the current Windows App SDK should be doable without horrific pain. Going backwards to support 2002 and 2003 PocketPC is also possible (given that all four apps ran on PocketPCs before the advent of WM), but similarly not necessarily just a matter of recompiling for another target, due to API evolution/deprecation/revisions. With those caveats, each application is buildable without any external code. [Common sources should ideally be migrated to a shared folder.] Smartphone screen sizes have grown since 2005. At the time, the burden of supporting multiple screen sizes was on developers; I havent checked to see if that has changed. Thats an area where modifications will likely be needed. Screen size constrains the number of buttons, text boxes, etc. that can be squeezed into the space available. In the analysis of option spreads, you really hope to be able to handle four (to accommodate butterfly spreads). 2002/3 era PocketPC screen size (240x320 pixels) meant only three options could fit on screen in StrategyExplorer and NillaHedges HedgeExplorer. When Windows Mobile 5 debuted with support for 480x640 screen sizes, it became possible to handle four options. StrategyExplorer was upgraded to handle four, but NillaHedges HedgeExplorer was never upgraded to support butterfly spreads (composed of four options). The changes needed to support a fourth option are relatively minor (obvious even) - that should be a goal. All of the code was written prior to the availability of SQLite; NillaHedge and BondManager therefore store data in dense binary files, comprising a crude datastore, unique to each application. The performance of these embedded databases degrade linearly with database size because every record is considered on any traversal (search). Now that working RAM and CPU speeds are so much more accommodating, the smart move would be migrating those applications to SQLite or similar, so indexes can be added (or removed) virtually on a whim, instead of painstakingly woven into application layer code. Options markets are more dynamic than bond markets, option contracts that were available yesterday might not be available tomorrow, and it wouldnt be unusual to consider many dozens of options in a day, so the database is very likely to get polluted with contracts that have past their expiration date or are no longer being offered by market makers for other (risk/profitability) reasons. Culling the local cache of dead and unused options is a ToDo for any reimagining of NillaHedge, better yet, a supporting tool that runs periodically to cull dangling (with respect to markets) option definitions when NH doesnt have the data store locked. NH tracks the users buy/sell transactions so portfolio value can be calculated anytime (based on issue/contract prices in the definitions) and end-of-year tax documentation, so you can only purge the options cache if the user never bought any it. Thats going to be another opportunity for improvement and could likewise be implemented as a supporting tool that periodically checks market prices and updates the local definitions. In this (feasibility) implementation, option chains were scraped from Yahoo Finance, but Yahoo is a fast-moving target for a scraper/parser. You will need an alternate source of option chain data or a much smarter HTML parser than used here. Each application is a computational silo independent of the others, except that YieldCurveFitter writes its last computed RiskFreeRate (RFR) to the registry (every time the value changes) and NillaHedge grabs that published value whenever an analysis tool dialog is (re)opened. Run time footprints are small; only NillaHedge is likely to use more than 1MB of RAM at run-time. The public_html folder contains the vestiges of the pnmx.com (and PocketNumerix.com) website including overview marketing materials (at top level) and detailed documentation with example screenshots in the Documentation subfolder. - Mike Landis