|
maodeng 发表于 2013-1-28 13:13 ![]()
+ j$ L* K/ o2 d# D( i' l. hello 300236
# @4 D1 ]5 h/ B# P& C8 rstatement out of context" m' N9 }- R# N7 ?2 P
r(119); * j* I: b. F/ v. m
抱歉,最近太忙了
$ N. ~' ^0 T2 M& _7 _8 l$ B2 h) R( r; x2 L& B* j
300236 我用下面的程序试过,没问题0 I- k" `% d1 A, D3 l4 N. j8 Y; |
6 i: s3 y2 u1 ^6 C你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试0 Y$ j+ H( h$ N7 R
+ Z/ @7 `) d6 ~
capture program drop hello; m. J* W3 j) {3 Y! S; S: @
! J& j! E5 l& sprogram hello
, @, R9 v! ]5 g' N# {" v2 F, l( a1 E( g# }) k) o8 O
quietly {+ p2 F9 h k& U; d) Z
9 G, _% |& ^4 e
clear- x7 e& m8 q( p# |7 [5 j
# n+ a0 w' a# T0 L
cd D:\stock\test\source
% ^9 [2 B, i4 W: e) `$ _# t, A& o+ E+ |% |' Y- d* M
insheet using `1'.txt
# S( m7 C/ i3 N5 w# e0 \4 j. q+ \2 \4 C$ x1 |& m3 C
keep if v5>0" r) @ X% a$ x! @' r. t$ Z
4 V# h9 e5 e. `2 P
gen vt=_n, S: O! h1 J' j7 b
; V! y# P+ Y) i- o# G
tsset vt" {3 ~* B& i# q0 S- R
4 o6 Y) ^: ] N
gen zf=D1.v5: e* S: e6 Q: R
% W; h f( m- F1 w! G/ _$ o
gsort -v1
' x& W8 _- ?6 {0 D& ~
+ N z0 m0 ~% o+ X& m! g: s gen avol=v7/v5
' W- s$ M- I. r+ b0 V& D% {# j
$ S2 g1 U9 c. E( {$ c keep if avol>0
- G: r! N+ j: C" |) Q * L5 {" Z( Y a4 R
drop vt+ }/ E: Q7 T2 |* ?7 R
3 _ P5 J9 s: _; `
gen vt=_n/ e- R3 _; Y& ^* s
( g2 {4 D. o! }4 X; }( M tsset vt; m# I0 w* b* l3 Z/ x
; c$ _3 J4 A% j4 I sum v5 [aw =avol]& ~! E5 \! {1 ~7 O6 I
) a6 f& q; c( {5 q! ?! Q1 s$ Z gen amean=r(mean) in 1
6 `$ U( u' }( [0 r+ G* n; N ) d* m& C/ F) H1 s' V) z
* 总加权平均值 amean' Q9 m W' r1 I& I
6 |' A6 u. l1 C4 o- W3 l( \. [
" \2 k& G# o! J9 u2 P
keep in 1/2409 B3 d- f d2 y) o2 N$ y) E
& p' B8 g1 K8 ~0 ^4 F: v% I/ p sum v5 [aw =avol]
7 {4 L4 w: l; l* B' R# C, r( g- L1 F$ ~& L2 U: X
gen mean240=r(mean) in 1
8 s0 d( M. H4 c: u9 {' T/ q) Y+ c
/ m% u2 T; l( y0 o *240加权平均值 mean240 s$ s6 @, q. r5 c$ K0 Z6 g
( A, j. p4 m! ~5 `5 H l set obs 500 6 k- v5 E- j( D- }0 q: K% |
3 n3 p8 S. V2 t7 C- J: u0 x- J/ r kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
) M7 X* n+ c" ]9 R
I6 t, S! a, m' ?& K& x2 T *240 kdensity(dx240 dy240)
; f- W# ?# D5 D, e
2 f& D8 b1 N6 x1 f2 { sum dy240* I1 J4 p; `/ i s
; L& v& O& T" f: z" L% o0 ^ gen yxis=r(max) in 13 Z. l9 O$ I0 L# X
' [- B8 U. i. G9 ]5 O' g T- }+ p gen yxis2=yxis/2
/ }7 q" W- k6 f+ F # H o' {0 v0 O. K8 E0 b
*yxis0 p" D2 ^% S u* q7 g
7 s( w2 k. m( l. y" z3 S gen dy240max=r(max)
' d. f! B! M5 B- a( Z- I
0 \9 y& e9 i ?* x1 V gen dy240minp=r(min)
, J+ Y& c+ n! J6 K7 ^. m/ u, K) C
, A! `# N; i1 d gen vtt=_n
8 {2 W7 [8 B; k6 x2 y/ d% V0 F; w' {! k) q' Y3 K
tsset vtt2 J8 E5 A0 s- M7 e/ |7 R' O1 E
% T, l8 L: S' V% P! w
gen ddy240=D1.dy240/D1.dx2400 G; Q+ @5 E0 g( E5 `
% C- u2 j9 @" b# Q2 h! I/ r
sum ddy240
9 V3 V& u% t' ^- N- l: d, U* | 6 N, N! ]7 P7 z7 d8 F2 V
gen ddy240max=r(max)! O* j% v: h& Y0 N1 ` S i' l6 s
v! F" k6 {6 v7 P, h- W gen ddy240min=r(min) U: f7 v4 m4 Y7 u7 n( h
2 C. \% o/ U0 L1 E }4 Q$ ]' m gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)" v% c; x4 b, r6 D$ U9 H5 @
# f2 D* m( T. x/ F6 g$ g" m sum ddy240g
+ [* t' v8 @. I0 \8 E' x- ?. M! Q' p 2 f0 w( u: Y- w* I
gen yxis3=r(min) in 1( A) X; O3 `+ Z7 P7 `
9 Y( Z1 C) \9 y+ H. w- |
gen yxis4=0 in 1$ F5 E5 A# v8 d6 j" ~* b
; k% x5 h: f, q+ T# r$ y7 p) Y
*ddy240g 1 D$ d1 R" e+ L3 t1 }
- D+ R1 `" s9 y8 l8 h
+ ^. q1 Y- _ ]
preserve
- e0 c, [1 s [
+ @6 X+ `! h- E sum v5 [aw =avol]
* M, m# P: j( \6 v+ q& w3 O
, G$ D1 c& T% Z- {+ r0 c: T keep if dx240<r(mean)
D: h7 x+ j$ a. [2 F ?1 h# ]
! U! T* C, b! Y' @" f, U sum ddy240
9 g* i/ h' }* t5 i% D
% P2 q5 `7 O! |& y7 `0 {3 B if r(min)<0 {0 f' w( m6 ?% d- v& T9 |$ V, v# r
+ l4 Q O, B0 \+ u- G% k keep if ddy240<=0
9 E! ~1 R# R0 b, ]
. M+ _! P' I* T+ U; O count
8 Z% k y/ s" O. z
- _5 s+ g7 ~0 g7 z- c& T if r(N)>2 {) Q2 J: v& d: z. d$ V
; ^( a0 @: }/ l6 ^6 Q {) Y
pkexamine dx240 dy240! R A. `5 c9 m" P7 X3 X" W4 V. S8 J
# [7 C5 R6 B/ s5 y+ Q* m6 C
local tempminp=r(tomc)% ?3 F- c# ]7 G' b( q* r
restore d8 `& ^, a6 ^7 M2 D& t
}8 ^" U* `1 @% _* V m
8 G; S) Q% {1 P7 j else {
+ n* E4 \1 A# E3 ]! n& \- R $ L) B4 D3 t* g6 b0 u
di "cannot find minp"6 E3 |, R, G N5 z1 `( w9 b8 S2 ~
; e: z) F2 _ z; S3 q+ n' c% `! C restore 1 c0 K# ]! |5 C( W
sum dx240. G: g! ` M: `
local tempminp=r(mean)3 c) r* f8 J8 ^* O
7 r; y% J+ e+ o" h( Q) O7 n* i& w }9 |, ]8 d, h6 M4 d" [5 x
}
y; T+ h4 N3 w$ I else {
) L! q% |% g6 x! ^
# Y8 M. d3 ^( i2 n q2 W% s- U* O, D, n keep if ddy240<=r(min)5 h0 w/ [# F! C& p4 c0 t/ q4 y
% X1 `8 D" Y" \6 n7 a. ~! o
sum dx240
2 ^: G0 Q+ y5 H7 t' d* A, G! ` ; l7 G+ P8 S+ b1 ?. a5 V5 x
local tempminp=r(min)1 k8 K U- R7 ?" q
restore M# u0 f% S- a& s4 e; t2 M" y$ O
}% a8 p# M& ^% k, @0 t0 }& U
! y" L& l [7 x: S5 E+ g. S9 O) C. h. d, M- O% y
* I# B* q! Y# }
gen minp=`tempminp' in 1- Q" u' B+ r: X4 J; U
*240 minp3 o, N$ A& K3 N9 t
* y; {! f& v2 i! ~ r) d$ t
/ `- L1 t* C! {# k+ T) `
+ X. y, W1 B9 C6 ^ preserve
. l' Z& z; A& R4 }: [ & d# i5 D6 H1 o& [; d
sum v5 [aw =avol]
: d" w$ V4 g5 y; b# X# Q$ ^; h
3 \* z& |! o8 m1 o- c& C keep if dx240>r(mean)
& d6 j3 p( e# }6 n ) u' u5 I; b. @% B
sum ddy240
- \$ A% [$ M, U; i+ M0 P 3 Y% w- m f) q7 J# h9 b' `
if r(max)>0 {% ?& i& I6 e' o/ b' {
$ j/ s% Q! F/ P) W: z
keep if ddy240>=0
d4 y. G! `4 U& w$ F' x! V
. [* U. U |7 Q& |8 d" B! b count M, p* H1 B/ Y! ]
+ c* `6 ~2 |# C3 c' D2 a
if r(N)>2 {
4 s6 ~% H" G1 l0 Z+ K # s+ p9 l+ Q6 Y8 v1 I- c
pkexamine dx240 dy240, L: H. P1 k/ ^2 I1 A
+ @4 C3 w/ A O4 ^" Z( G$ b local tempmaxp=r(tomc) # @# z4 H+ U& `( k/ o) P( k
restore , ~, j& S3 ?! k3 L- |1 ~
}
! I& a3 G& A$ o ' g5 u z1 ~6 W" ]
, V6 u( [3 V6 [
else {
5 \* D3 r' \- W& G! U restore
, {, L4 E% U) `5 R, Y; p% v4 u% V di "cannot find maxp"6 y! e" m, Z1 S( w+ {3 q
& Z# z# F( X2 b. z. [5 w3 r% B
) v( C6 k: C0 r. k
sum dx240
: @6 J+ N2 ?! w7 A. v local tempmaxp=r(mean)
- Z( k/ O; o0 g& ?! `8 {4 c2 d
5 e1 V. V, r [. l1 `7 \ }
; O5 x: |) ^$ f, t% C ! b# b% ?! X/ s4 v* \
}% ]( a: p' S& l+ [6 j7 S: a. P$ o4 J3 {
" `* W, a; ^. ~- {! U1 D, V
else {
6 k+ ]; | D9 v/ f+ J. E7 O, J% n + x* U4 F/ k$ ^* n0 b: J
keep if ddy240>=r(max)
4 v+ ^$ Y8 h9 A c T2 U
2 e: @& m6 B$ |+ g/ r sum dx2402 K: ]! ]1 ^7 L; F$ D! n
5 h6 A# Z& @2 P, x
local tempmaxp=r(max)
2 _5 }( A b! D restore % ]5 k/ W3 C- p% s& ` {; y
}
9 a' ^8 {9 I) t( X6 s
; L# |* I" J8 h w
/ [3 c, P; B0 R5 O/ h * s+ `% g4 X3 \ N9 U5 X
# Y8 U- T$ D1 o gen maxp=`tempmaxp' in 12 i; m* k6 T/ I* c
# P6 Z0 r5 h0 M% |9 t* q* G6 r) _
*240maxp$ [. q' ~/ l$ x2 y- z. f" J
8 i3 K, b8 s& D
8 `+ d/ G: X1 F1 {* e *-------------ddy240pminp左侧高峰值-----7 o5 P8 M" X2 q( d3 x# a
% k! N" Y5 S( M% ~# ~ preserve
0 `2 m4 R. L5 U5 W
7 {. d" I. g3 u4 B+ H keep if dx240<`tempminp'' o; j* N k0 ~* w( \. a) ]
% w! t4 W/ g# S% R$ }8 x! C
keep if ddy240>0: M# V7 K0 {! a6 V$ t2 Q
9 q* m6 i7 T4 S# ] count# a4 I9 F/ T+ F2 [; O3 [* _/ N) m' x
: F2 o4 Z6 Z1 c6 R* p
if r(N)>2 {8 S+ a0 j. p6 y/ w2 C, c* j
3 S; Z7 D8 |9 H4 h pkexamine dx240 ddy240: H- W" x' o# a7 T' L
1 o- n1 z' ~/ C7 u. ~: i1 t local tempminphddy240=r(tomc)
' s0 k! T6 ?# x: i4 m9 J9 a restore
7 b7 S" o2 @$ a2 d6 Q) L }4 a' T7 q7 K$ k9 B4 \
3 i T4 y) h3 R# J
else {; _# `9 \ c2 K
restore
2 e* u. `( k- ]+ n3 N9 U+ c, ] di "cannot find pminphddy240"
6 U% i, _% |; ^2 l3 H1 O
' [5 w! o5 Z4 K- ]3 O/ x* d9 n 6 w/ N2 G8 m# C/ Z
sum dx240
/ ]( ?5 H. u a4 F9 I$ { local tempminphddy240=r(mean)
$ ~5 a/ K: V+ Y% k( ^4 f 3 w; ^1 q+ S' P# ]5 x* w' z0 D) f
( S& q. V5 g) V2 r9 T( a3 l }6 v- B4 {' r# ^1 [
6 v2 O; t6 f: [3 f8 p
v4 k' I/ _: k! C+ U4 K8 K
$ t/ \$ M; ]1 B! T+ E: s
[/ P! E2 D5 O* ^: h
8 n$ ?* ?* s: W
v! L' ~. v+ T9 {1 Z* b gen pminphddy240=`tempminphddy240' in 1
$ h. v. k0 B2 x: ^ : V1 @3 J* b# [" S+ \
" v1 d- w$ ~( N% f+ X! _: q; L# d
*-------------ddy240pminp右侧低峰值 -----------------. S- ~: L; d2 G! G- h
preserve 3 {( j. g, e9 G$ e7 \* @
6 g1 G% r2 g' U2 B2 O- i- U% o6 U keep if dx240>`tempminp'4 F. m2 _$ l. O' E j
0 |& T& \ n: ]1 d
keep if dx240<`tempmaxp'2 f; D! F% V5 U; b! B9 W4 I
$ p, h' d8 r+ ~- @' |3 _
keep if ddy240<0
2 o* {& M" m3 Y* o9 u
+ }' R! L& T% e$ d/ h% \( r gen temddy240=-ddy240
: s) `7 R' a+ o( h$ n % G0 _* p. M, R" m& d0 [2 L! @
count
) D& k/ C/ _, P6 B3 v; T, Y- R& x
; |% l8 i. k" M- A% M. I8 h if r(N)>2 {
3 P' ]5 ]3 ]5 D7 N) Q & `$ @+ c6 G2 H4 ^4 r) n+ t
pkexamine dx240 temddy2401 |1 \! i5 S8 B+ Q- d
6 ^/ d0 v+ |& N C" B0 O4 f2 |4 l- o
local tempminplddy240=r(tomc)8 P- f2 |6 f- a Y3 ?" `
restore
, Y( Q0 N; A8 l; G" }' K( P }" D* J8 @) l2 {. T$ p1 w
( K# G3 e. K' H. p+ p else {
# A2 S1 L: [$ P; n- k( H: w9 z
9 T/ Y5 P7 D1 x7 } di "cannot find pminplddy240"8 D4 G* V7 |" w5 F
restore
+ [% U' g1 N% M h/ n2 E! y - r1 U% j+ ?. ]) \7 P$ e7 ^0 X& @
sum dx240
) A5 P4 j6 |! Y. v0 t; X9 A0 P+ ?9 H local tempminplddy240=r(mean)
; g6 i$ h5 l- f; E7 L# m/ T
; z" k7 ?% ?6 k. }9 j
* y6 f* ~# g L {* `# k1 }$ g% f) B }% G; `2 R: C7 i" i
* c% m1 @1 _0 @3 W/ ?
, o1 M6 R* h3 |: s 4 R# [* Z1 [9 z* \' g' N6 N/ ]
s2 W( }' I+ l' c) J+ C
, X- @- y0 O( E% s$ ]; T* ]) Q1 z gen pminplddy240=`tempminplddy240' in 1
" o, T+ a5 H! w8 s! `* P+ S. G - g! l6 A8 ~- h
*-------------ddy240pmaxp左侧高峰值 -------------------2 ]! j. @1 @- m. w# L) z3 N
1 y; R' R' ~+ W7 D6 P+ R, c( |
preserve
8 x& D' x3 e" L 5 \& L @: k* t8 B. L
keep if dx240>`tempminp'
8 I, G4 |. { h# K 8 R- C! d) w, J! S1 s
keep if dx240<`tempmaxp'6 t% { @' o0 b
: B( f6 |+ i5 U+ T8 K- w keep if ddy240>0
, K* b" c: g7 w4 o count
( T$ d# {7 ~2 R5 C: V) r- d) ~ / D" d. l% d# S7 j# h( H
if r(N)>2 {' L# U+ o8 t' `1 L( p
6 E$ n) t3 x/ \8 U- v0 @! s pkexamine dx240 ddy2400 f, K7 O8 d/ s, b& _) E; `
8 P3 z, v: l' X local tempmaxphddy240=r(tomc) 7 m" ?; U6 m: l3 ]9 x a
; _9 P* h* |* Z* R5 d0 K, N; m
restore$ T1 m3 h4 D1 K9 l2 \
}$ N( ]0 Q. Y- g- s. m. K! Z |; _( p
4 ?* D* I4 R- I' ?! i0 D
else {/ \/ e Q" E, p
6 F: i' K- \9 w8 D6 w di "cannot find pmaxphddy240"6 O$ i2 y# d3 ]6 A7 J
restore
" K* L6 e% h8 |/ h/ G a
& {6 i0 r! B: @6 k. @$ R& ? sum dx240
+ E P* R1 N5 p* g$ H! ] local tempmaxphddy240=r(mean) / l# p; w* G* J! }% V; i' z4 z
+ [) K; n0 }- }7 V* p: y3 H+ b
& f7 r: t9 N5 g B- c }4 |. ~# P. z- d) J
! r0 S0 j' K0 d5 m' W" O
' l. \7 I/ U8 D M! w0 m& Z9 i) R
$ x. N- {$ U! t- F$ b I
9 C; T* v8 z1 ~
$ [( L8 C7 E% X% X7 \* G, o- V + p# l* i. P% `3 \
gen pmaxphddy240=`tempmaxphddy240' in 15 Y- I& k; d' k8 @) o* W' ?
6 d0 _3 v) @2 Q! ]2 [" t5 h
' ~$ J5 \7 G4 D6 G4 S5 g2 h *-------------ddy240pmaxp右侧低峰值 -------------------9 O2 D# d6 @2 ~+ Y
. ?% |: m/ b' ^7 t
preserve 5 k% a3 t2 t- \# C7 G6 e
& W9 j0 y& \3 d7 F1 t6 ` keep if dx240>`tempmaxp'
. w) d1 U3 b4 Z2 a8 R4 J: `) u * F. Z! t1 J+ W
gen temddy240=-ddy240
! G: c& t) m) G$ U/ o7 [ ; X c7 L7 o6 G9 C- Y1 G
keep if temddy240>07 R# T. k q4 `5 ]
' ]; ~- ?3 @4 }( L& X count/ u" c% f. j) \: U* f3 y0 O: b) e+ Z
( {4 U9 O1 ?, z1 Z' L" f if r(N)>2 {
% N: i5 N- q% |$ M) W1 f
, `& ^, ]0 q1 \ pkexamine dx240 temddy2400 M, ~8 z3 v% C; P3 x0 |
$ [( E; l1 o& _$ x$ @
local tempmaxplddy240=r(tomc) / z- w |5 L g' ~
restore8 Z% o! q7 G- V! Q
}/ c/ v; B! v( l1 Y' e6 S* j
. B+ k- q0 @8 F! [2 `- P else {
/ W$ v/ f! v7 B$ U$ a* f restore
: y9 R" ^! ~1 T8 O5 L# D di "cannot find pmaxlhddy240"
2 ]! e& W8 u! D) W- x $ v% \/ N4 T5 g
6 P! R& G/ B( G6 K, n; a& o sum dx240* a& ~4 s9 e1 q9 L8 t* T% d! }
local tempmaxplddy240=r(mean) in 11 G, ~$ r4 v# z+ K2 {4 }2 K7 q0 O
' e' T& u# d- r' Q& m0 O5 J
4 I' Q5 H* X) J6 i. _
}& M# M9 H( x& b2 I* K4 i
* X# w u( J: b+ T _
# h0 s$ y0 I/ n7 X6 I4 T! _* r
" r, n: _) u a1 R
& S h! Z; F& B1 y
5 s: g$ ], t7 ^ 5 G# I4 G5 T# P
gen pmaxplddy240=`tempmaxphddy240' in 15 O+ y3 w5 L; l; u/ T
, f" z/ F& W( X
*-------------------------------------
/ X. O$ B& a2 M
8 l+ m6 C; Y+ w# D7 V; b& C gen price5d=v5 in 1/20+ \8 P* r) e# P8 ?' c* h
; B. V2 c6 y; K0 N9 h h8 S gen price5yy=_n in 1/20
4 h+ g" _& w4 }' W/ r: G( _4 ~9 g. S 9 \/ t+ V4 K3 q2 @/ q( q
gen price5y=price5yy*(dy240max-dy240min)/201 O5 f# K/ f: U! w- X) H
& f6 A( |; ]6 s0 x. X
*price5y &price5d4 n; u6 v' ?0 c5 n, o
3 U( G% v: p6 l
gen priceny=price5y in 1
$ O" a* H( e: a- Q9 ?1 L& ^
5 n$ s7 N6 a% S; x5 n( r5 J gen pricen=v5 in 1) J$ u2 ^3 p S* a0 q
`! f; k& U3 n+ l ~
: E. z* K+ t8 Q% c( o* ]. \5 r; [% p1 ] \ *priceny &pricen) V( I0 U) m8 Z( n2 G
3 f8 K5 m2 m9 G7 n
2 v) p8 z5 K, H3 n *-------------------------graph------------------* N+ P( D+ A# T. A& k( a
9 |2 q/ s, @. o$ v4 `& T tw(line dy240 ddy240g dx240)(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
2 d! h7 J) Q# g
7 W+ X9 }- ?4 k2 A* v' X: v" @* ---------可选项目----------------------
& k% h q0 N) n2 o. [*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))' t% P2 i( d7 R+ |' h6 C7 u4 h
}
3 J. x! f' e4 |- Tend
3 f, G8 \! h* c- E |
|