Change readme to point to the website as well
This commit is contained in:
parent
e97ebed10a
commit
701a7630a5
|
@ -1,8 +1,8 @@
|
|||
## What this is
|
||||
|
||||
This is a set of libraries and a command line interface that fetches probabilities/forecasts from prediction markets and forecasting platforms. These forecasts are then hosted on airtable, and used to power a search engine for probabilities.
|
||||
This is a set of libraries and a command line interface that fetches probabilities/forecasts from prediction markets and forecasting platforms.
|
||||
|
||||
For now, a demo can be found [here](https://metaforecast.org/) (try searching "Trump", "China" or "Semiconductors"), and the database can be perused [here](https://airtable.com/shrUotmcMmmTdIjmX). I also have a json endpoint [here](https://metaforecast.org/data/metaforecasts.json) and a csv endpoint [here](https://metaforecast.org/data/metaforecasts.csv).
|
||||
These forecasts are then used to power a search engine for probabilities, which can be found [here](https://metaforecast.org/) (try searching "Trump", "China" or "Semiconductors") (source code [here](https://github.com/QURIresearch/metaforecast-website-nextjs)). A json endpoint can be found [here](https://metaforecast.org/data/metaforecasts.json).
|
||||
|
||||
I also created a search engine using Elicit's IDE, which uses GPT-3 to deliver vastly superior semantic search (as opposed to fuzzy word matching). If you have access to the Elicit IDE, you can use the action "Search Metaforecast database".
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ import {smarkets} from "./smarkets-fetch.js"
|
|||
let opts = {}
|
||||
let json2csvParser = new Parser({ transforms: [transforms.flatten()]});
|
||||
//let parse = csv => json2csvParser.parse(csv);
|
||||
let sets = ["template", "elicit", "metaculus", "predictit", "polymarket", "csetforetell", "goodjudgment","goodjudmentopen", "omen", "hypermind", "smarkets"]
|
||||
let sets = ["template", "elicit", "metaculus", "predictit", "polymarket", "csetforetell", "givewellopenphil", "goodjudgment","goodjudmentopen", "omen", "hypermind", "smarkets"]
|
||||
let suffix = "-questions"
|
||||
let locationData = "./data/"
|
||||
let sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
|
||||
|
|
36
src/process-forecasts-from-old.js
Normal file
36
src/process-forecasts-from-old.js
Normal file
|
@ -0,0 +1,36 @@
|
|||
/* Imports */
|
||||
import fs from "fs"
|
||||
|
||||
/* Definitions */
|
||||
let locationData = "./data/"
|
||||
|
||||
/* Body */
|
||||
let rawdata = fs.readFileSync("../data/givewellopenphil-questions-processed-old-format.json")
|
||||
let data = JSON.parse(rawdata)
|
||||
|
||||
let results = []
|
||||
for(let datum of data){
|
||||
let probability = Math.round(Number(datum["Percentage"].replace("%","")))/100
|
||||
let result = ({
|
||||
"title": datum["Title"],
|
||||
"platform": datum["Platform"],
|
||||
"description": datum["Description"],
|
||||
"options": [
|
||||
{
|
||||
"name": "Yes",
|
||||
"probability": probability,
|
||||
"type": "PROBABILITY"
|
||||
},
|
||||
{
|
||||
"name": "No",
|
||||
"probability": 1-Math.round(probability*100)/100,
|
||||
"type": "PROBABILITY"
|
||||
}
|
||||
],
|
||||
"stars": datum["Stars"]
|
||||
})
|
||||
results.push(result)
|
||||
}
|
||||
|
||||
let string = JSON.stringify(results,null, 2)
|
||||
fs.writeFileSync("../data/givewellopenphil-questions.json", string)
|
Loading…
Reference in New Issue
Block a user