|
|
maodeng 发表于 2013-1-28 13:13 6 V) D3 a- F% S7 ]# t
. hello 300236
/ \1 \- L7 @' o9 ^- H7 |statement out of context
2 e& r! |& v, w+ e* v! wr(119); 8 C7 W) n* E- L, a x! Z: t) E
抱歉,最近太忙了
! j/ q) z& B4 D' U7 r$ F# T$ \+ c4 D5 o$ v5 X# H9 _0 {$ A
300236 我用下面的程序试过,没问题
* M% I c% L6 o: O) \+ `
L+ P! E4 }3 W; ^& U' ?你把 D:\stock\test\source 改成你导出的数据存放的目录,再试一试 U# n) l! Q0 u
d# P t! m8 u/ w8 x, Tcapture program drop hello6 @. e Q, g Y' R+ h
# D& E2 @( G# k" m# Rprogram hello
6 g' Q8 p/ v* {9 s' R
& t7 S- `. A, P# b8 O: ] quietly {" z3 z( p* a, h: E7 v- l
( o; S0 w: \6 \, l# f8 dclear
1 a6 x, \- G9 R$ t
. e2 j% v2 E4 L2 K" D0 Wcd D:\stock\test\source
9 E4 y" j7 x% ~7 ^4 Z0 N5 E; l5 P
' }$ q1 h& ]3 w0 p% o% H9 cinsheet using `1'.txt
4 @( H9 D& E _: k5 F v& ^
- _9 y/ o/ V4 {, x' } keep if v5>0
9 U2 g# P0 g' x0 B
$ u( J0 W) A4 B+ Z! s7 O/ C7 D gen vt=_n
* Z/ ]# z7 `$ ^8 ]9 ` $ o1 n! A( S! H" x
tsset vt
! e" Z# n# n9 X# i& d a5 f( a" Y2 B
gen zf=D1.v5
$ I# }, @# H% K9 ^' s) R
! H' A: h6 [2 D0 J' w; G! B gsort -v11 ?; G* F$ i$ a3 v7 ?
3 K. `! u- n- t3 e" _7 y gen avol=v7/v5
1 p7 t' H( Y5 X" Q/ W: G# | - D N2 l0 M x% Y7 b8 b! Y
keep if avol>0 g! H% N- T* D% L
9 T$ R8 ], Y4 D& k; Y z- T drop vt
* u2 h, C4 c; N9 u 3 w2 W/ q7 W0 |7 i7 F. J6 q
gen vt=_n
' E# u& w! p/ B. I3 `3 W" c 6 b. r) J! {. B( U' C
tsset vt0 y" J2 u- D# Q* W9 Q5 M! k
8 N2 B/ ]5 q8 R: N sum v5 [aw =avol]
: l. g9 d) D' o) \2 M6 L% O9 Q- u% ~/ V3 T) M) b+ O
gen amean=r(mean) in 1
9 u- N, h" U1 Z3 I' Q- l
/ \. k+ P/ }; d8 | * 总加权平均值 amean! U& }3 [$ `) ^0 j5 j
9 l5 H& }. n& W% I. W* B) A0 e1 b. Q
4 o K, V9 v# D/ X7 x' C4 e
keep in 1/2402 }1 F% A# ?2 W% d C+ u; f
6 j9 n) k4 ?. H8 N; E! n/ n
sum v5 [aw =avol]$ s4 \- g3 o3 r5 B; m! j
: S2 A/ j. m5 v0 F3 H; s
gen mean240=r(mean) in 1
" t0 h2 N" q3 ~$ g5 w7 m
/ L8 ~. u' R- c- O) ] *240加权平均值 mean240
% n) i4 H ]1 F0 ?" K. i6 ^
( e% l6 p! O3 b k q8 v4 D set obs 500
$ b# U2 |( O5 a) `* Z' p8 I- |0 t / u T' F% y, b1 G4 F8 T
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
8 A d2 c( f9 O* G) l
( i! Y* Q- D# L" R \ *240 kdensity(dx240 dy240)
3 `: t4 n+ e0 d% T# x
9 N2 s: v6 p* }* Z; o" G& y sum dy2406 [8 Q) O8 H4 g6 {6 p
1 n( O2 B }. W3 w4 I
gen yxis=r(max) in 1
- o/ I3 Q4 O/ a( ]! s) v( O7 t: k 0 h* C9 d* T d' `: X
gen yxis2=yxis/2
! I# H5 z! u5 }% t3 Y+ { 2 E; |+ F' E7 V, ]
*yxis! W O1 n3 u b2 t/ V
+ M: P& T1 F0 f3 B* C2 h
gen dy240max=r(max)
) @ x9 Z0 h4 |6 W - Q$ D8 v2 e0 `3 K
gen dy240minp=r(min)* I8 _& s- ?' x) k; ?8 o: G
& x1 T) `2 B% y$ M! l gen vtt=_n
8 |* S+ |$ `1 s9 p+ w2 `0 u( ], }
tsset vtt
1 B9 S# G7 b6 S" ^9 h. f* p* r! A6 ? W
gen ddy240=D1.dy240/D1.dx240
& e( Y1 P* u5 i, I' J2 X! @! }
' B& D7 q' e7 N% Y sum ddy240
3 h9 K3 A8 ]1 @$ J 8 v/ z; ~( F1 b( h) g
gen ddy240max=r(max)8 S, l8 Y! u0 l$ [
7 u1 {# T# b3 E% u gen ddy240min=r(min)# I. r% ~$ x, l P: U
. d2 P5 k/ ^1 D% _( A
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
/ j2 e. c: j0 |& C" N, c 4 M5 d! W- k, |. y0 o
sum ddy240g
/ ?+ ~( {+ g w/ m! t
: v7 Z: {* v1 V7 p2 k gen yxis3=r(min) in 1
0 Z/ E3 [- r. Z$ q $ v. ?, |: [5 g8 Y/ L- V6 x5 a
gen yxis4=0 in 1: N3 D0 H5 V$ j9 _; g
1 Y! s& ]+ Z* B4 u0 ^+ F
*ddy240g
! B. r- u. I5 G# e3 R: _
' M, V: F" M; T& ` + U6 S5 q6 W1 B
preserve 8 H7 v0 g) Z4 J/ r1 r5 l+ ^3 S
8 e9 B1 [+ x0 }/ I- k N }3 n9 L sum v5 [aw =avol]
0 E2 E# C& J2 a/ @
h K6 V& ?; T& ?! h keep if dx240<r(mean)
6 h! }$ O2 U: F3 s1 J t3 F 7 P! k$ D- G. X) a! [( n! L; n4 `
sum ddy2408 b: z+ I: C; Y* ?
! \" r+ [9 v' v/ n: z if r(min)<0 {; K. _" J/ o/ I( w! C# c% V* p) u
7 }0 x- g! t' ?" B+ q/ Y3 S
keep if ddy240<=0# v6 _5 f: ]9 M) i
: R7 C8 H# {7 u- K! A% p" T4 O
count
: r" [8 E: d( d- Q: C% i 1 N2 o: m0 }) t; ^+ |
if r(N)>2 {
. ^3 d- l1 V2 g2 q" P3 n ' g6 S! C. F' F" @! b' i1 [
pkexamine dx240 dy240- a' D- X+ u; @" p
' m6 V7 l/ i; M- l local tempminp=r(tomc)
! s9 g) C/ J3 L1 j# `! z) L: U restore - ?4 g$ b8 N0 z# f2 S, V0 c N
}, q0 M- }6 t q; D3 H1 D
' C( [5 N, I, z+ d$ P" y+ a0 ^
else {, h0 C# Y/ u) _8 M2 c
% @: W3 u: T. b5 d
di "cannot find minp"- P+ R# t3 W8 }1 H
4 F* h+ ?: \# { L' ~( }- d# m& k6 M restore
& j% F% ^5 w! ~7 }' n) |: n sum dx240
, J8 o: b4 _8 s7 ^ local tempminp=r(mean)
% Q* Z' G) T6 t+ y5 C" r + f# C3 x4 O3 G m/ B6 G$ c5 z
}+ e- r8 ?) ^. y& l! N6 l' @; S' O( V
}% z0 |$ X/ ], N8 q' o, y9 }
else {
% V3 V+ S. k) ^7 K- A " P/ U( I9 b$ _
keep if ddy240<=r(min)" u3 }3 `; C/ y8 Q! m4 e
4 {; z8 e! k$ ]( V- J& v sum dx2409 |* g, X; U8 c' L
1 G5 C: i8 m U8 h' | local tempminp=r(min)
7 T c9 A, V" O restore
8 ?* Y3 Y5 M# B5 D$ ~5 T, Q }5 {4 N+ ~3 M" B4 o, I) Q
- @" B2 L! T6 s- Q5 `- t, E
3 h; N2 e* Q' ~7 ~* O. D0 H
2 q: w; U- x0 y) u2 ? gen minp=`tempminp' in 1- {* i8 m: S/ c! X5 \! x. S b
*240 minp7 _) K5 ~' z, `) s' ?7 } M2 v
" X# n' y' g' p; u3 \) I
& f5 t8 X6 L: a$ @- a6 v# c- \
- Z, n+ s" s+ l8 H3 u2 k( S3 L1 x preserve
T6 Y% `. R0 K- x. O* H+ a 2 S4 S5 V% D/ ?+ u2 l
sum v5 [aw =avol]1 e7 x% H4 q1 z: H) W- v# e
4 D* [7 q* S; k. H; p keep if dx240>r(mean)
, k9 G% F2 z4 ~3 B
' Y2 U4 k* l9 ^ sum ddy240# ~3 h1 P- Z4 @/ v
+ N( ]2 z4 Q; z+ d
if r(max)>0 {
* j3 \) h0 g3 c/ O# D D8 T; ?
4 g$ \1 u6 V3 K$ J Z4 c9 o4 T keep if ddy240>=05 h) t6 D0 b# o9 x% R
/ _4 V h( m2 b$ b$ i( J count
/ Z5 a5 ?) K ~3 n7 {
0 S9 c* q! Y% {+ T; E! K if r(N)>2 {$ W* l- q7 b8 t- Y% ^
! V2 f3 R' R% K5 r" R
pkexamine dx240 dy2406 ?0 y, \! k8 i9 K
3 f& A0 b, j0 { B5 O* A
local tempmaxp=r(tomc) 7 f$ `# c* a" A( B9 i. I W7 p
restore
* P' {) d; @; x4 L3 f& E7 W }4 \* F1 w. D$ [9 Z# C3 W
! ^- N8 D8 o$ M : i4 p4 _/ g( J! |
else {
/ t' M; k8 z; R% u, `9 e, l# |$ n, M restore 6 J; H- q" c; ~- X+ Q
di "cannot find maxp"
1 V; z+ G4 _4 F- ]+ e {# f, G b ( j- C$ Q. q4 v5 @6 R
7 ^" h) t# t. i6 P/ N/ A) _! {' ^
sum dx2400 ~, S$ ]- {: |( i% V, |8 P
local tempmaxp=r(mean)- Q: F, q' p. L$ S! W6 l. W | E
7 D& F( a, t& H1 [6 [
}
8 {, J4 w1 @$ F9 N 5 b& z/ y l- ]' h
}
8 B% I" U7 g$ V. Z& c
7 H& A* \1 l" T1 @' [ else {
- M! u9 z6 @8 x9 y0 }5 }9 q. J1 { a G& @' k& o2 e
keep if ddy240>=r(max)
5 ?6 w. A2 ^- d* z' m% J
9 r# m" S+ k8 E- x sum dx240
2 O; z) K. j9 g' n U; T: J5 a5 L4 l 8 m/ Y$ B- n1 t) c) G
local tempmaxp=r(max) $ b, \ p7 j: o
restore 1 L9 @/ k4 Q* m5 [) _
}
% y& ~5 X) h( [: t' ^ P 7 B( c" Z, ~. e+ p& V6 g
$ \# r( F& O- R6 t
6 g7 C5 q! v- a# g, b' W
1 g5 u. c' F0 }8 f3 I gen maxp=`tempmaxp' in 1- | q w) J h& ]( ~
# h: t( o( }) S7 ~1 i; m/ O- F *240maxp
' ?+ l: @! t1 L4 R) t * e2 {% L2 F% e5 _# ?: @
9 @5 Q, j8 ^0 X1 T9 h$ q8 d *-------------ddy240pminp左侧高峰值-----0 K( B8 f* B# R7 a, @
1 U1 _) H& y8 o! o
preserve
( T# M% @4 ~1 U- Q# t 9 H7 x+ h1 ~' w# x& _( X* c- d
keep if dx240<`tempminp'9 z! k/ E6 v, e) u) c y5 N
( m/ \* E0 Y; ^9 H; l% ~8 c# ]6 E keep if ddy240>0
4 }* Y& e x4 H# s
- c; S0 b. z$ P: W' e count" O3 S: W% I* p, c$ p5 c( T6 N
' i/ a4 F8 A8 e+ w0 F) i& z$ G if r(N)>2 {
% T4 F: x' S" }2 S# ^( F+ V * \0 j$ ]. Z# e1 f# x( U
pkexamine dx240 ddy240- N+ o' Y2 o2 p2 r# W' n
4 X/ l/ \. J# `
local tempminphddy240=r(tomc) % z9 ^: [; s0 v, j5 N$ ?! C' {
restore7 ?8 I2 W7 D2 G3 {& i' s" ~7 o
}5 e0 Q7 E% H) {% F2 ]8 d" V$ Z2 {) r
* E3 M+ q. M% \" Z" m4 i& z; k
else {
1 {3 K0 g; }0 Z+ a restore 3 b1 l9 E6 H" E B; J
di "cannot find pminphddy240"- Z, b6 k# ~' W8 K1 Y) n
% P4 V }# d7 Q- }
- e4 {5 { Z: x6 p$ Q sum dx240( z; @- I% E9 U' F
local tempminphddy240=r(mean)
! \& t: |* B' x: g
) {" ~$ u7 m( B$ s0 [' ? , e1 w# V1 R% ^: q5 {- P& t
}
7 a0 }7 i" \, L 4 B+ F& G, c* Q2 ]7 Z7 w
1 i$ }( ^7 D4 Z, z. N2 I. I
" Q9 v0 j% m) k 7 u4 D* [: f7 ?* v, y
1 W3 n, J0 S8 S9 R; {
9 M: J8 W) l# k# G4 |# V2 U1 } gen pminphddy240=`tempminphddy240' in 1- e0 Y9 E! f& h, f; B& R6 f" q: W
! i, J8 e+ p1 u- O/ ? M. T
9 [$ ^! b" j+ V: B4 q' u, A *-------------ddy240pminp右侧低峰值 -----------------# G9 H3 g2 ]. O' x2 v# E) r
preserve
7 l( M: L, w1 t' h ( ~. f3 H0 _8 G
keep if dx240>`tempminp'
% N2 |5 f. s& Y4 \ ) [- |- c7 y( x4 a, |
keep if dx240<`tempmaxp'7 |- g% B4 T5 x; a9 G
6 N: l1 F, ^( Z1 @& F
keep if ddy240<0
/ \ O7 z( K i( `' @7 l& ^ 4 |- p3 N1 H+ Q8 ^' p- Z
gen temddy240=-ddy240
. o1 r% |" e H# i$ d# i 0 R. g3 L6 `( k
count
9 v; r- \2 N- d" z * V. c+ e* S2 {) y
if r(N)>2 {% C1 a) d8 w* ~4 t" W+ V
" z/ C3 T* R. K8 K: d5 n; m
pkexamine dx240 temddy240' x! P% y0 a# A: N, c
1 [: h( b5 K, y local tempminplddy240=r(tomc)
6 o+ `5 d0 Q8 w& h- x/ r restore- g f/ i* A( `7 L: x- l+ P
}3 K* b. ~9 t m! u0 F7 F% O
$ |. t6 Y+ u: h0 e else {- |# H8 ?; w8 l
1 x) ]5 f6 T% M- J$ M4 j+ u! Y
di "cannot find pminplddy240"
) ]4 J( I# M2 d. |3 A/ z& Y restore
5 L. v3 K5 b) T7 [9 r8 d8 Z& G1 u 0 R- Z- r a; N
sum dx240: n1 m# x J8 ~" y
local tempminplddy240=r(mean). h; A, Q6 W" s! ~3 v. \& P
, X: v0 ^! o5 U( h3 |) x 8 t3 r, p8 ?5 |/ K7 E# y
}
! R% j8 ^- }$ \ 4 |1 M! R, k' }
2 w7 ?3 i. Z% A/ u
$ k# |9 E, I2 P0 W
% A' B/ Y: e7 Y1 j, C 4 ~1 C8 _: Q2 `* f# S' F3 p1 ~5 D
gen pminplddy240=`tempminplddy240' in 1, X5 e7 a9 b) f- }! {, e
+ l) Z1 Y0 q, s# A+ d" Y% J# y5 G' h *-------------ddy240pmaxp左侧高峰值 -------------------3 o) o* h7 P5 i
; y: y* K7 ~2 b6 S8 J; c6 ] preserve
0 v* _/ N0 C O- _ 4 T- N. ]/ d( M7 s$ I W, Z
keep if dx240>`tempminp'( h8 Q! o; O0 _1 f' [! e" `
5 U' a2 V7 [5 H9 g! o2 @6 ?
keep if dx240<`tempmaxp'
- @$ q) t5 H, ~7 A/ \
; s; p" N) j5 y6 m" p. x* S2 f keep if ddy240>0% j1 |0 c. H$ B4 X$ i# Y
count" s5 G9 Q" f* |; Z0 ^ F
* O# U2 z6 D" g if r(N)>2 {
; ~% m: H ~# i & q R) \6 E. H, h
pkexamine dx240 ddy240
$ l0 D# H# \& ^6 e/ W1 i+ | `3 f8 g+ z; y; W
local tempmaxphddy240=r(tomc)
7 _. y0 q2 k6 I' w m; i" C5 {# P2 d' Q
restore0 @- |; h/ V* P0 c8 ^; x
}, ]: j; }1 X7 u
; q4 v' ~8 s6 t
else {& ?6 d2 }% \/ w5 o) t, j1 E$ G
- I$ X! q$ W) P( f) C8 O" n6 q di "cannot find pmaxphddy240"
0 ~0 l4 ?$ ~+ Q restore
' `9 B2 a: ]; c# _; ?+ w1 o3 j
( x' U- \/ e7 N0 t. X sum dx240! N3 b+ z! o+ v) {8 U8 {
local tempmaxphddy240=r(mean) ' B e0 ?3 F0 X
, _- K- I- q* I7 z ^- `% \7 z3 s4 ^* ?. ]
}
5 j7 _2 S- G- L( k6 t 7 W' y* {% f. ?3 G! J* y6 s' J2 x
: {: y: K' M6 D* a$ g
0 b* y0 O' ^, _6 S8 K4 W
$ S. X2 `* E# F( c G ' J/ T9 ]- H. N) k9 ?
+ v/ j7 A; @( N' E
gen pmaxphddy240=`tempmaxphddy240' in 1
f8 P! L$ g H4 F( E8 ~8 r - U8 _* }0 T+ d) F3 p2 v& K; Z
( r8 B3 n9 Y, j *-------------ddy240pmaxp右侧低峰值 -------------------" z/ B( k9 H" F0 o% `3 \" f
% ]- W2 I0 E8 @; b5 h
preserve # r( b* y& K* X' P4 m8 u
# t+ ^/ o9 P/ w$ l+ m% e. Z% t
keep if dx240>`tempmaxp'
! p- t+ t- M8 L( g2 X3 | " T/ f8 }6 ~2 } d3 y, X; _2 E
gen temddy240=-ddy240% T. Y* ?8 h. M
+ j* A" k/ d w7 q* r6 |* @: G
keep if temddy240>02 M) K4 @$ c$ u# V I
6 P$ a& K' R/ g4 B1 b count
% M/ V1 c7 D; ~% b m. \4 X) W
3 }. f3 B- Q( e$ l% O) z5 n2 [ if r(N)>2 {
4 q) V* K; \2 o6 _( ] ( w: a) Y7 c& _8 p
pkexamine dx240 temddy240
6 C+ Z2 ^0 [# v6 {
1 N5 ?+ ]0 K/ _5 y local tempmaxplddy240=r(tomc) ; m7 s3 j& n: t# \
restore
# g7 [' c- A) m }
5 m K6 Q% o i- r6 U% y H0 Z) ^. C1 G, @, N$ m
else {
2 ]: ?6 w) y3 X6 y6 P- S restore& {, I0 r; g' k5 U6 P7 A
di "cannot find pmaxlhddy240"0 i/ A% J4 `! V) X" T! U1 r5 z
5 a" ]. R) u6 r) V4 i5 {
" o$ W' E l. H+ ^ sum dx240
0 K& m. }, I3 m local tempmaxplddy240=r(mean) in 1
0 Y6 k: j0 b# t( i/ h- i 6 E" x- h1 C: a4 s1 k9 L8 f: g* |* I
( Q. H$ n0 J }0 s }
4 J' u+ _. }" S1 d7 v3 W+ V
5 Y5 |2 s; Y" k4 o" F, s7 G5 f) L - w7 l7 N+ L% u
* E3 I* s" ~* K: k
, s$ J2 \; F" y3 ^0 k+ l, s 3 L4 o8 l. v3 @# i# X
! `0 o1 n8 f- H5 [ gen pmaxplddy240=`tempmaxphddy240' in 1: J6 Z0 ]2 W4 a8 Q* }" ?
3 g8 c Z# I" ~4 | *-------------------------------------1 y3 p- }, \" F/ }
5 t4 Z) M* H! `# @ gen price5d=v5 in 1/20
) O9 Z9 L' B7 N6 Y: A/ \
3 \3 g; d" l! e: n gen price5yy=_n in 1/20
" w {; ~0 [9 A# z: E; B! o
5 u2 u: N- y% L+ L& P! x$ J3 x W# } gen price5y=price5yy*(dy240max-dy240min)/20
, \$ r4 H6 f2 g1 L: F 1 O z8 y* S! J ~3 w0 J' J8 h3 p
*price5y &price5d
" e, B/ P9 v2 P3 }4 P
& w' S; B9 u# g) r) x gen priceny=price5y in 1
. d" t P- h1 T9 ~. |' z
5 i# @% ]& a6 x& j) _, z: j) F gen pricen=v5 in 1" l! c) E! X: O/ M' \
; G& o" z% b* j. r, \- d# E
4 R* h1 i4 k: ^5 S: [9 Q *priceny &pricen% J3 ]9 {) {4 c! P& e7 \
( R" n) f" \6 X' G$ H
! j$ V/ ]' d6 ^7 i, k3 i
*-------------------------graph------------------
% [9 ~& I/ p2 u
' v N1 d7 w$ K0 j 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)
% E6 N1 @& a- V3 _. w7 B
6 u' \/ E! x( N* ---------可选项目----------------------
+ S+ t) M% A% F2 |*(spike yxis amean,lc(blue))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean))
- e8 E: s" }! P- H* c}- }6 ]2 {0 t* [6 B A3 u3 a# G
end" V* i3 @$ r, r5 w5 b
|
|